09 Jan 2020
This is the post about my experience of KWOC’19. Don’t worry it will Not be a lengthy.
About KWOC – KHARAGPUR WINTER OF CODE Program
A one month long program for introduction to open source community and a providing
preface to budding developers to Google Summer of Code’ 2020. Organised by students at
Kharagpur Open Source Society (KOSS), IIT Kharagpur.
site : https://kwoc.kossiitkgp.org
Projects and Experience
The program includes various projects from easy levels to a high level. Mentor’s are also available that guide and also helps you to come out form problems states. Analyzing the task and break it down into small tasks that help in identifying what you have to focus on or not.
Most of the time I used to do development but this time the projects that I have worked on are related to data structure and algorithm this helps me leaning and clearing the concepts of DS. My pull request was reviewed by my mentor. My mentor had few suggestions, I fixed them.
Here are some of my PR’s Link
1.) Pull Request #1
2.) Pull Request #2
At Last I would like to thanks my mentor Rishabh Garg And KOSS for such a wonderful initiative.
Waiting for GSoC’20
Signing off
Kunal Sharma
Thank you for reading my post.
14 Aug 2019
This is the 3nd post of blog post series ‘Deep Learning and Machine Learning’.
CNN’s Drawback
CNNs (convolutional neural networks) are awesome. They are one of the reasons deep learning is so popular today.
CapNets seems to be quite popular due to its computation then CNN’s . Here first we see what are its major fall back.
site : http://sharenoesis.com/wp-content/uploads/2010/05/7ShapeFaceRemoveGuides.jpg
Let us consider a very simple and non-technical example. Imagine a face. What are the components? We have the face oval, two eyes, a nose and a mouth. For a CNN, a mere presence of these objects can be a very strong indicator to consider that there is a face in the image. Orientational and relative spatial relationships between these components are not very important to a CNN
CNN Working
How do CNNs work?
The main component of a CNN is a convolutional layer.Its job is to detect important features in the image pixels. Layers that are deeper (closer to the input) will learn to detect simple features such as edges and color gradients, whereas higher layers will combine simple features into more complex features. Finally, dense layers at the top of the network will combine very high level features and produce classification predictions.
An important thing to understand is that higher-level features combine lower-level features as a weighted sum: activations of a preceding layer are multiplied by the following layer neuron’s weights and added, before being passed to activation nonlinearity. Nowhere in this setup there is pose (translational and rotational) relationship between simpler features that make up a higher level feature. CNN approach to solve this issue is to use max pooling or successive convolutional layers that reduce spacial size of the data flowing through the network and therefore increase the “field of view” of higher layer’s neurons, thus allowing them to detect higher order features in a larger region of the input image. * Max pooling is a crutch that made convolutional networks work surprisingly well, achieving superhuman performance in many areas. But do not be fooled by its performance: while CNNs work better than any model before them, max pooling nonetheless is losing valuable information *.
Major Difference between Capsule and Neurons
site : https://pechyonkin.me/images/201711-capsules-2/capsules-table.png
4th post will be out soon.. (Keep Scrolling).
Thank you for reading my post.
07 Jun 2019
Moving to RDS
A cloud administrator uses Amazon RDS to set up, manage and scale a relational database instance in the cloud. The service also automatically backs up RDS database instances, captures a daily snapshot of data and retains transaction logs to enable point-in-time recovery. RDS also automatically patches database engine software.
To enhance availability and reliability for production workloads, Amazon RDS enables replication. An admin can also enable automatic failover across multiple availability zones with synchronous data replication.
An AWS user controls Amazon RDS via the AWS Management Console, Amazon RDS APIs or the AWS Command Line Interface.
site: google-Image
A database administrator can create, configure, manage and delete an Amazon RDS instance, which is a cloud database environment, along with the compute and storage resources it uses. Depending on which database engine an admin chooses, he or she can spin up multiple databases or schemas.
Amazon RDS limits each customer to a total of 40 database instances per account. AWS imposes further limitations for Oracle and SQL Server instances.A user can only have up to 10 of each.
Amazon RDS database engines.An AWS user can spin up six types of database engines within Amazon RDS:
- RDS for MySQL : compatible with the MySQL open source relational database management system.
- RDS for PostgreSQL : compatible with the PostgreSQL open source object-relational database management system.
- RDS for MariaDB : compatible with MariaDB, a community-developed offshoot of MySQL.
- RDS for SQL Server : compatible with Microsoft SQL Server, a relational database management system.
- RDS for Oracle Database : compatible with several editions of Oracle Database, including multiple bring-your- own-license and license-included versions, and
-
Amazon Aurora : compatible with MySQL and PostgreSQL, a proprietary AWS relational database engine.
Amazon RDS adds support for major and minor versions of database engines over time, and an admin can specify an engine version when he or she creates a database instance. In most cases, Amazon RDS can support developer code, applications and tools that are already in use with existing databases.
AWS provides other database services, such as DynamoDB for NoSQL databases, Amazon Neptune for graph databases and AWS Database_Migration Service_ to ease database transfers and transformations.
Thank you for reading my post. Keep Scrolling..
26 Mar 2019
The role of a DevOps engineer is not just limited to CI/CD and automating releases. It’s much more than that. Long story short — automate everything.
Lets Begin,
Devops Cycle.
What Is DevOps?
DevOps is a term emerged from the combination of Development and Operations. The role of a DevOps engineer is to automate all the operational work in the way that a developer would do. The idea is to encourage frequent releases to increase quality and get early feedback.
Advantages
- Adopt Agile gracefully.
- They automate everything right from the planning phase to the release phase.
- They help the team move faster while maintaining high quality.
Main Idea
The main idea behind Agile is rapid and frequent delivery. Whatever is repetitive should be automated, or try to reduce the time spent on it. This should be applicable everywhere in the project.
Planning and Analysis
- Capturing and tracking (JIRA, ServiceNow).
- Documentation or Wiki page (Confluence).
- Collaboration (Slack, HipChat).
Design and Implementation
- SCM (Subversion, Git, Mercurial).
- IDE (Eclipse, IntelliJ, Visual Studio).
Build and Release (CI/CD)
- Repository management (Artifactory, Nexus).
- Build tools (Jenkins, Bamboo).
- Configuration management (Chef, Puppet, Ansible).
- Cloud (AWS, Azure, OpenStack).
- Containers (Docker).
Integration and Testing
- Source code verification (SonarQube).
- Security testing (HP Fortify).
- Functional testing (JUnit, Cucumber, Selenium).
- Performance testing (SOASTA).
Operations
- Monitoring (Splunk).
- Analytics (Adobe Analytics, Flurry, TeaLeaf).
- BI (Kibana, Tableau).
The implementation may differ from organization to organization, as it is highly dependent on management’s priorities. It surely helps move things more quickly and maintain high quality.
Thank you for reading my post. Keep Scrolling..