Latest posts

Young Physicist – Codeforces – Problem – 69A

codeforces logo
code forces logo for problem 69A – Young Physicist

In this blog we are going to solve a problem on codeforces. You can read the problem statement here.

Explaination:-

If the current position is (0, 0, 0) then body will be in equilibrium if and only if all the sum of the resolution is zero i.e.

x1 + x2 + x3 + … + xn = 0

y1 + y2 + y3 + … + yn = 0

z1 + z2 +z3 + … + zn = 0

So to solve this problem we have to find the sum of all the resolution and then print the output.

So the code for this solution is : –

n = int(input())
vec = []
for i in range(n):
    vec.append(list(map(int,input().split())))
sum1 = 0    
for i in range(n):
    sum1 += vec[i][0]
sum2 = 0
for i in range(n):
    sum2 += vec[i][1]
sum3 = 0
for i in range(n):
    sum3 += vec[i][2]
if sum1 == 0 and sum2 == 0 and sum3==0:
    print("YES")
else:
    print("NO")

Slack Software Engineering Internship for 2021 Batch Students

Slack is on a mission to make your working life simpler, more pleasant, and more productive. We are looking for remote Software Engineer interns to join our team for Summer 2021!

These full-time, remote internships are a unique opportunity for someone currently pursuing a BS, MS, or PhD in Computer Science, Engineering, or equivalent training, fellowship, or bootcamp completion, who wishes to gain hands-on experience in an industry setting. You will have the opportunity to work on a collaborative team and be paired with one of our engineers who will be your mentor throughout the course of the program!

What you should have:

  • A strong work ethic, an eagerness to jump in and help fix things
  • Curiosity about how things work and tenacity to learn
  • Self-awareness and a desire to improve your skills
  • Strong communication skills, a positive attitude and empathy
  • To be eligible for the program a candidate must currently be pursuing a BS, MS, or PhD in Computer Science, Engineering, or equivalent training, fellowship, or bootcamp completion with at least one quarter or semester left after your time at Slack

Interns will work in one of following areas:

  • Backend – Our team works to create delightful features, while designing and implementing useful API methods to improve the reliability of our systems. We build our app using reliable tools that our team knows and trusts, including Hack/PHP, MySQL, and Linux. Expertise in these areas is a huge plus, but having a familiarity with other common web languages (such as Python or Ruby) and other relational databases are fine substitutes.
  • Frontend – You will use React, Javascript, and CSS to improve the Slack web client, a complex in-browser application relied upon by millions of users every day. You will work with real-time data streams, engineer for performance across browsers, and delight people by making the best software we can imagine. Working closely with Product, Design, Backend, and QA to build, test and deploy new features.
  • Mobile (Android) – Come use your extensive knowledge of Java and Kotlin to improve the Slack Android app, a complex completely native application relied upon by millions of users every day. You will work with real-time data streams, engineer for performance across devices and delight people by making the best software we can imagine. You will collaborate closely with Product, Design and QA to build, test and deploy new features.
  • Mobile (iOS) – Apply your extensive knowledge of Objective-C and Swift to improve the Slack iOS app, a sophisticated completely native application relied upon by hundreds of thousands of users every day. You will work with real-time data streams, engineer for performance across devices and delight people by making the best software we can imagine. Collaborate closely with Product, Design and QA to build, test and deploy new features.
  • Desktop – Everyday, millions of people use Slack’s desktop application to stay connected and connect with their teams. Though the application is used by a massive audience, it’s created by a surprisingly small group of folks. We’re able to pull this off through the use of cross-platform technologies like Electron, Node.js, and React. It doesn’t hurt that our engineers are incredibly passionate and talented. Come help us build delightful features and tackle the unique challenges of developing for Windows, macOS, and Linux using web technologies.
  • Infrastructure – Come help make Slack be more performant and reliable for teams of any size around the world. Our team focuses on the building blocks that enable the product engineering teams to build features easier, faster and more reliably. We’ll use your knowledge of data structures, algorithms, programming languages, distributed systems, operating systems, and networking to build and troubleshoot complex distributed systems.
  • Cloud Engineering – The Cloud Engineering team is responsible for building the network, systems, and software upon which we build Slack. We are a team of tool builders working to provide a secure and reliable base powered by automation. We use Chef, Python, MySQL, Memcached, Solr, Apache, Kubernetes, HHVM, Java, Go, and many other technologies, all running in AWS and GCP.
  • Data – The Data team helps our analysts, product managers, and customers understand how to make our users’ working lives simpler, more cheerful, and more productive. We develop Slack’s open-source data infrastructure built on top of Thrift, Kafka, Spark, Druid, Airflow and Vitess and the work will involve creating and scaling batched streaming data pipelines.
  • Automation QA – You will develop frameworks, tools, and tests to cover the full depth and breadth of Slack’s client-server-side functionality. This includes our desktop and web clients, our iOS and Android clients, our external service integrations, the Slack platform API, and our supporting server infrastructure.
  • Manual QA – This is an excellent position for people who enjoy working on the full cycle of manual testing — crafting a strategy, writing a plan, building and executing tests, finding regressions, logging and verifying bugs, and building comprehensive historical records of testing activities that are key to being successful in this position.
  • Information Security – The Information Security team at Slack partners with other teams to ensure we are doing our best work to protect customer data. We partner with each Slack engineering team to ensure Slack’s entire product stack considers security best practices. We monitor Slack’s operating environments, looking for malware and bad actors on Slack’s corporate and production infrastructure. We develop secure libraries, tools, and services to prevent classes of risk and vulnerabilities to support how Slack operates. We continuously assess Slack’s compliance with security standards and best practices. Help protect the billions of messages that Slack users share on our platform

Slack is registered as an employer in many, but not all, states. If you are not located in or able to work from a state where Slack is registered, you will not be eligible for employment.

 Visa sponsorship is not available for candidates living outside the country of this position.

Slack is an Equal Opportunity Employer and participant in the U.S. Federal E-Verify program. Women, minorities, individuals with disabilities and protected veterans are encouraged to apply. Slack will consider qualified applicants with criminal histories in a manner consistent with the San Francisco Fair Chance Ordinance.

Slack has transformed business communication. It’s the leading channel-based messaging platform, used by millions to align their teams, unify their systems, and drive their businesses forward. Only Slack offers a secure, enterprise-grade environment that can scale with the largest companies in the world. It is a new layer of the business technology stack where people can work together more effectively, connect all their other software tools and services, and find the information they need to do their best work. Slack is where work happens.

Ensuring a diverse and inclusive workplace where we learn from each other is core to Slack’s values. We welcome people of different backgrounds, experiences, abilities and perspectives. We are an equal opportunity employer and a pleasant and supportive place to work.

Come do the best work of your life here at Slack.

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

Apply Now

NCR Campus Codewars 2020 – Engineer Hiring Challenge – 2021 Batch students

NCR is looking to hire passionate Software Engineers with excellent Coding skills and updated knowledge in Data Structures and Algorithms to work with their dynamic team in Hyderabad.

This is an amazing opportunity to make the best start of your career. 

NCR Corporation (NYSE: NCR) is a leading software- and services-led enterprise provider in the financial, retail and hospitality industries. At NCR, we know digital has completely changed how brands compete. To differentiate and win more business, having a digital-first mindset is key—even for physical locations—it’s the way to meet consumers in every moment and transform transactions into meaningful interactions.

Shaping the future for 135 years, NCR is the world’s enterprise technology leader for restaurants, retailers and banks. The #1 global POS software provider for retail and hospitality, and the #1 provider of multi-vendor ATM software, we create software, hardware and services that run the enterprise from back office to the front end and everything in between for our clients.

Headquartered in midtown Atlanta, Ga., NCR has over 34,000 employees in 160 countries and solutions distributed in 141 countries.

BASIC QUALIFICATIONS:

  • Students completing B.Tech or B.E in May/June 2021.
  • Students in Engineering discipline would be any branch who has passion about coding
  • Excellent knowledge of computer science fundamentals: object-oriented design and design patterns, data structures, algorithms
  • Good software troubleshooting and analytical skills
  • Ability to understand business and technical requirements
  • Excellent written and verbal communication skills; excellent teamwork and collaboration skills
  • Experience with several of the following modern technologies: Java or C++ or C#.NET .

EEO Statement:

Integrated into our shared values is NCR’s commitment to diversity. NCR is committed to being a globally inclusive company where all people are treated fairly, recognized for their individuality, promoted based on performance, and encouraged to strive to reach their full potential. We believe in understanding and respecting differences among all people. This concept encompasses but is not limited to human differences with regard to race, ethnicity, religion, gender, culture, and physical ability. Every individual at NCR has an ongoing responsibility to respect and support a globally diverse environment.

NOTE

  • Shortlisted candidates will go through the interview process for the position with NCR.
  • All selected candidates should go through mandatory internship from Jan 2021 to Jun 2021. Post completion of internship, full time employment begins from July 2021. Apply only if you are available for internship program, vacations for exam will be provided.

Eligibility criteria:

  • Graduation year: 2021
  • Skills: Data Structures, Algorithm, OOPS concepts and Problem-solving.

Challenge Format:

  • 2 programming questions restricted to C++, Java, and C#
  • 10 MCQ’s on Data structures, Algorithms, etc.
CTC7 L.P.A
Job – LocationHyderabad
Openings300
Employment TypeInternship + PPO

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

Apply Here

Gojek hiring for Software Engineer – Engineering Platform – Apply Now

About the role

We are looking for passionate engineers responsible for building scalable PaaS offerings aimed at improving engineering experience for various product groups at Gojek. You will also be developing services, tools and platforms that provide distributed systems abstractions.

What You Will Do

  • Develop highly scalable, reliable and fault tolerant distributed systems
  • Continuously improve code quality, product execution and customer delight
  • Communicate, collaborate and work effectively across distributed teams in a global environment
  • Operate to strengthen teams across their product with their knowledge base
  • Contribute to improving team relatedness, and helps build a culture of camaraderie
  • Continuously refactor applications to ensure high-quality design
  • Pair with team members on functional and nonfunctional requirements and spread design philosophy and goals across the team

What You Will Need

  • Hands on experience of at least 1+ years with any object-oriented or functional programming language i.e. Java, Golang, Clojure, Python, Ruby etc.
  • Good understanding of distributed systems fundamentals, Linux fundamentals, container technologies, TCP/IP stack, internet routing and load balancing
  • Basic understanding of cluster orchestrators and schedulers such as Kubernetes
  • Ability to understand and implement Continuous Integration and Continuous Delivery
  • Basic understanding of microservices architecture, RESTful services, preferably production distributed systems.
LocationBengaluru, India
Employment TypeFull – Time
Application PostedSeptember 10, 2020
Freshers can ApplyNo, They can’t
Experience Required 1+ Year

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

APPLY NOW

Credit Suisse hiring for a full-stack developer – Apply Now

Credit Suisse is a leading global wealth manager with strong investment banking capabilities. Headquartered in Zurich, Switzerland, we have a global reach with operations in about 50 countries and employ more than 45,000 people from over 150 different nations. Embodying entrepreneurial spirit, Credit Suisse delivers holistic financial solutions to our clients, including innovative products and specially tailored advice. Striving for quality and excellence in our work, we recognize and reward extraordinary performance among our employees, provide wide-ranging training and development opportunities, and benefit from a diverse range of perspectives to create value for our clients, shareholders and communities. We are Credit Suisse.

We Offer

  • We are a department that values Diversity and Inclusion (D&I) and is committed to realizing the firm’s D&I ambition which is an integral part of our global Conduct and Ethics Standards.
  • Technology continues to transform the financial services industry. Our clients expect us to deliver banking services in innovative ways, and to provide digital channels to help them communicate, execute trades, and purchase financial products. Banks today require fast, secure, innovative technology, along with robust foundational systems that can handle traditional banking tasks efficiently.
  • Credit Suisse will be recruiting for full-time Technical Analyst positions at the Pune office into various Technology groups.

Global Markets – Combines our strong Fixed Income and Equities sales and trading capabilities in the United States and Europe to build a high performing, transparent, and fully integrated markets franchise for our clients.

International Wealth Management – Serves non-Swiss and non-Asia Pacific domiciled, High Net Worth and Ultra High Net Worth clients, family offices, and institutional clients. The team also manages our Global Asset Management business.

Swiss Universal Bank – Drives new business opportunities and addresses client needs for Swiss domiciled private clients (retail, wealth management), corporate and institutional clients.

Asia Pacific – Drives growth in Asia Pacific, through a focus on entrepreneurs, and through offering integrated private banking and investment banking services to High Net Worth, corporate, and institutional clients.

Corporate Services Technology – The Core Compliance group within the Corporate Services Technology division prevents the spread and misuse of inside information in the Bank through the development and maintenance of the Bank’s Information Barrier policies and procedures, Watch and Restricted Lists.

Risk and Finance IT – The mandate of Risk and Finance IT is enabling Risk and Finance to flexibly respond to business process and regulatory change through integrated data, calculation & reporting best practices and technology platforms. RFIT plays a key role in delivering the bank’s regulatory agenda and reporting.

Key Responsibilities

  • Gathering and analyzing business needs for required components
  • Developing modules and programs
  • Testing, debug, tune performance of the applications
  • Documenting, deploy and support high quality applications
  • Roles will involve extensive communication with similar functions in various IT and Business groups

You Offer

  • You understand the value of diversity in the workplace and are dedicated to fostering an inclusive culture in all aspects of working life so that people from all backgrounds receive equal treatment, realize their full potential and can bring their full, authentic selves to work. This should be further elaborated on in your application.
  • You have good problem solving skills, highly analytical, pro-active and detail oriented and are eager to learn new technologies
  • You have the ability to work under pressure in a fast paced environment
  • Good written and verbal communication skills
  • You will be working with Technology Stack like Java, C++, .NET, Python, Perl, Sybase, Oracle, SQL Server, HTML5, AngularJS/Dojo/EmberJS, Informatica, R, Tableau, Machine Learning, Artificial Intelligence, Cloud Migration
  • Ambitious, dedicated who can work on own initiative whilst also working collaboratively and deliver on time with a high level of integrity and flexibility, sense of urgency, attention to detail and quality standards

Credit Suisse is an equal opportunity employer. Welcoming diversity gives us a competitive advantage in the global marketplace and drives our success.

LocationPune, India
Employment TypeFull – Time
Freshers can ApplyYes, They can
Experience Required 0 – 1 Year

Note: This opportunity is recommends by Freshlybuilt Team

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

Apply Here

Automate Messaging On Google Meet

Google meet image for automation.
google meet logo

Due to COVID-19, online meetings have their own importance. So why not we try python to automate the message sending in the google meet.
For this, you need basic knowledge of selenium, python, and HTML.

In this blog, I am going to share the script of automating messages so if you are a beginner then I will suggest readers to read Automate Whatsapp Using Python to get knowledge of selenium. You can modify the below script according to your need.

# importing required modules
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

# Your Google meet URL
meet_url = 'https://meet.google.com/agz-sraz-efj'

# Initialising drivers.
driver = webdriver.Chrome('C:\chromedriver.exe')

# Due to security reasons google has blocked Sign In from automated or third-party applications.
# To login your google account enable less secure apps in your Google settings.
# After this you can do the login manually or by writing two more lines in the same code. 
# (I am not writing code for log in because when you try on your own you learn many new things.)
driver.get('https://gmail.com')

# going to the meet URL after login.
driver.get(meet_url)

# getting the message button in google meet.
xpath_btn = '/html/body/div[1]/c-wiz/div[1]/div/div[4]/div[3]/div[6]/div[3]/div/div[2]/div[3]/span/span/div/div/span[1]'
btn = driver.find_element_by_xpath(xpath_btn)
btn.click()

# finding the text box to type message in text box.
x_path = '/html/body/div[1]/c-wiz/div[1]/div/div[4]/div[3]/div[3]/div/div[2]/div[2]/div[2]/span[2]/div/div[3]/div[1]/div[1]/div[2]/textarea'
t_box = driver.find_element_by_xpath(x_path)

# sending messages.
message = 'Hello, I am Sankalp from FreshlyBuilt.'
t_box.send_keys(message,Keys.ENTER)

Key points about what we have done in this script are:-

  1. importing the required modules.
  2. google meet URL.
  3. Driver Initialisation. (If you don’t have the drivers then search on google about web drivers of your default browser.)
  4. login using your Google account.
  5. getting on the page of the meet.
  6. finding the message button using selenium (find_element_by_xpath.)
  7. finding text box using selenium (find_element_by_xpath.)
  8. The final step, sending your messages.

If you like my blog post then follow me on LinkedIn.

Hewlett Packard Hiring For Software Engineer R&D – Intern

Overview

At Hewlett Packard Enterprise, we bring together the brightest minds to create breakthrough technology solutions that advance the way people live and work. What sets us apart? Our people and our relentless dedication to helping our customers make their mark on the world.

We are a team of doers, dreamers and visionaries; inspired by our purpose and driven by our strategy. We live by our three values: partner, innovate and act.

Our legacy inspires us as we forge ahead, always pushing to discover what’s next. Every day is a new opportunity to advance and grow ourselves, our company and the industry. Some people call it an obsession, we call it a way of life.

What you need to know about the job

Job ID:1069451
Date Posted:27/08/2020
Primary Location:Bangalore, Karnataka
Job Category:Graduate Program and Internships
Schedule:Full time
Shift:No shift premium (India)

Hewlett Packard Enterprise (HPE) advances the way people live and work. We bring together curious minds to create breakthrough technology solutions, helping our customers make their mark on the world.

Joining HPE in an early career role is an excellent opportunity for a self-motivated, proactive individual to grow with us and help us drive our continued success globally. We are one of the largest technology companies in the world, operating in over 150 countries and market leading in several industries. We believe in partnership, innovation and taking action – our culture is what defines us as a company: how we act, how we treat others, and how we conduct business. In addition to working alongside great colleagues, you will have many opportunities to learn through coaching and stretch assignment opportunities. You’ll be guided by feedback and support to accelerate your learning and maximize your knowledge. We even have a “reverse mentoring” program which allows us to share our knowledge and strengths across our multi-generation workforce.

How you’ll make your mark:

  • You will work on a specific project critical to HPEs needs with opportunities to gain experience across a broad range of cutting edge technologies and across the full stack of software engineering challenges.
  • You can work within an existing Agile, software engineering project team and collaborate to help to solve problems within that team’s focus
  • You’ll learn about our software development practices and the latest tools used for software development and front-end technology – including Scrum and Kanban methodologies.
  • You can communicate effectively and be motivated to achieve results as part of your team.
  • You will be mentored by at least one senior member of the Engineering Team and will be working with a mix of IT professionals with a range of experience

Prerequisites:

  • BE/B.Tech – 2021 batch in Circuit Branches(CSE, EC, EE, IT etc)
  • Four-year university students who are working in a technical internship role at the company during their study or in summer breaks between university semesters
  • Minimum CGPA of 7/10 or 70% aggregate throughout academics from 10th grade till present. (no active arrears)
  • Excellent communication skills.
  • Good problem solving and analytical skills.
  • Highly-reliable self-starter with a can-do attitude.
  • Ability to think differently, and quickly run with an idea, socialize the idea within the product stakeholder community and build a prototype and productize it
     

What we can offer you:

Extensive benefits, a competitive salary and participation in the shared values and purpose that make Hewlett Packard Enterprise one of the world´s most attractive employers! At HPE, our goal is to provide equal opportunities, flexible work-life balance, and constantly evolving career growth.

If you are looking for challenges in an exciting, supportive and international work environment, then we definitely want to hear from you. Continue the conversation by clicking apply now below, or directly via our Careers Portal at www.hpe.com/careers. 

Join us and make your mark!

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

Apply Now

Paypal Hiring through Paypal campus Challenge

PayPal Campus Challenge

A unique opportunity for engineering students graduating in 2021 to join us in reimagining money and democratizing financial services for everyone.

About the Challenge

We are launching our first ever country-wide campus challenge to hire engineering students.

Step -1

You are eligible to register if you are a final year engineering student graduating in 2021 from any stream with CGPA equivalent of 8 and above.

Step – 2

Once registered, you will receive an email with details on the online assessment. Based on your performance in the assessment, you will be invited for an interview.

Step – 3

If you are selected, you will receive an offer for a paid internship and/or a full-time role at one of our tech centers in Chennai, Bangalore and Hyderabad.

Important Dates

Registration closes on20 September 2020
Online Assessment will be onSeptember 26, 2020 at 10:00 AM
Result will be announced onOctober 1, 2020
Interviews will be scheduled inOctober 2020
Internship betweenJanuary and June 2021
Full-Time starts byJuly 2021

Frequently Asked Questions

Can I register if my college/university does not allow for a 6-month internship?

Paypal is looking to hire for internship and full-time roles. If you receive a full-time offer, you are invited for a 6-month internship with us, if your college/university allows.

I graduated in 2020 and currently looking for opportunities. Can I register?

Answer: PayPal Campus Challenge is limited to students who would graduate in 2021. If you have already graduated, refer to our Jobs Portal below. We would love to have you working with us.

What is the evaluation process?

The online assessment will be conducted on HackerRank. Based on your performance, you’ll be invited for up to four rounds of virtual interviews.

If I am selected, which location will I be joining in?

You will receive an offer for a role at one of our tech centers in Chennai, Bangalore and Hyderabad.

What are the available positions?

We have various positions across our Frontend, Backend, Mobile, Data and Analytics teams.

LocationChennai, Bangalore and Hyderabad
Duration6 Month
Employment TypeInternship
Batch can applyOnly 2021 Batch

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

APPLY NOW

Devfolio Hiring for various roles for Jobs and internships

About us -Devfolio

We’re a small team with big ambitions. We are distributed across India with an HQ in Indiranagar, Bangalore. As of August 2020, we’re aiming to:

  1. Create the most vibrant and thriving developer ecosystem in India.
  2. Provide communities all over the world with tools to grow, manage, monetize, and spread some good ol’ love.
  3. Change the way personal finance and banking works.

In the next few years, we’ll tick all of these out and start on new ventures. We would love for you to be a part of the journey.

We take pride in saying that we’re building something more substantial than just a startup, or a product. We’re building a community. Communities like wmn; InOut and ETHIndia among others are a part of that effort.

How we work

A team of 12 can’t be too hierarchical even if we tried; so we work in a decentralized manner, with four main teams (backend, frontend, design, and operations). Everyone has high independence, and more often than not, there is little to no oversight. We encourage you to work from wherever you want, whenever you want. It doesn’t matter if you’re a morning person or a night owl. As we grow, not becoming a bureaucratic, process-oriented company is our topmost priority. Everything you build or do shall go through this simple cycle:

Decide → Discuss → Design → Develop → Test → Ship

Values

👁️ Attention to detail

We don’t believe in launching products with loose ends. Instead of looking only within the dev/financial space, we get inspiration from the best brands and products out there. We love great design. Some of our favourites are Headspace and Zenly.

🤝 Mutual respect

We believe that taking care of, and respecting your people is a key element of building an enduring company. We keep everything transparent, give everyone complete ownership, and reward everyone with competitive stock options.

☘️ Grow together

Growth is an uncomfortable journey, and in the last two years, we’ve seen a lot of ups and downs. All of us have learnt and grown together, and want to continue pushing each other to greatness. We care less about your prior successes and more about your growth trajectory.

👩🏽‍🚀 High-agency independence

Insight-formation, conviction, and ambition require independence. Even though we’re tight-knit like a family, we give everyone their personal space. We want you to think freely, develop your own insights, decide what bigger challenges you should work on, and just tell us what you need.

Products

Devfolio

Devfolio is a community-driven SaaS platform for all-things-hackathon. We help individuals, universities, companies, and other groups get noticed, organize better hackathons, and develop a more vibrant ecosystem for designers and software developers in India.

Fold

Fold is a mobile-first digital bank for India’s internet-native citizens. Thousands of people have already signed up for our waitlist. This makes us extra motivated to deliver an excellent experience.


Perks and benefits

  • Competitive remuneration. Of course, equity ownership as well.
  • Generous leave policy. 30 discretionary paid leaves, over the 12 calendar holidays per year.
  • Flexible working hours. We all work asynchronously, from wherever you are. Meetings are the exception, not the rule.
  • Get your perfect setup. Mac/Windows/Linux, mechanical keyboard or anything that you need to do the best work of your life. We’ll help set up your workspace.
  • We’ll take care of you. Annual team retreats, all meals, and accommodation if you choose to work from Bangalore HQ. Wellness allowance to take care of your physical and mental health (gym memberships, meditation apps, and anything you need).
  • Health insurance & benefits. Comprehensive health insurance coverage of ₹20L, includes free health check-ups, unlimited doctor consultations, dental care, and expansive personal accident insurance.

Open positions

PositionApply LinkTYPE
UX ResearcherApply HereInternship / Contract
Frontend EngineerApply HereInternship / Full Time
Community ManagerApply HereInternship / Full Time
Android EngineerApply HereInternship / Full Time
Backend EngineerApply HereInternship / Full Time
Product DesignerApply HereInternship / Full Time / Contract
Weekly Team Dinner

Note: This opportunity is recommends by Freshlybuilt Team

ALL THE BEST from Freshlybuilt for your application.

WE DON’T SPAM NOTIFICATION CHANNEL, WE POST ONLY 1-3 FILTERED OPPORTUNITIES PER DAY :), We don’t Like Spamming the GroupJust Aim for providing a good opportunity to better candidate.

Join Freshlybuilt Community

Long Short Term Memory (LSTM)

As we know sequence prediction problems have been around for a long time. These include a wide range of problems; from predicting sales to finding patterns in stock markets’ data, from understanding movie plots to recognizing your way of speech, from language translations to predicting your next word on your Phone’s keyboard. They are considered as one of the hardest problems to solve. with the recent breakthroughs that have been happening , it is found that for almost all of these sequence prediction problems, Long short Term Memory networks(LSTM) have been observed as the most effective solution. LSTMs have an edge over RNN in many ways. This is because of their property of selectively remembering patterns for long durations of time.

Aim of the article is to explain LSTM. So let’s have a look on topics that will cover in this article!

Before going to learn about LSTMs let’s have a look on limitation of RNN.

Limitations of RNNs

A typical RNN looks like:

RNNs turn out to be quite effective when we are dealing with short-term dependencies. just like below example:

The color of sky is __ 

RNN work just fine here because this problem has nothing to do with the context of the statement. The RNN need not remember what was said before this, or what was its meaning, all they need to know is that in most cases the sky is blue. Thus the prediction would be: 

The color of sky is blue

By above example we can see RNN works fine on short dependencies but RNNs fail to understand the context behind an input. Something that was said long before, cannot be recalled when making predictions in the present. Let’s understand this by below example:

I spent more than 20 years working for under privileged kids in Spain. then I moved to Africa.

………..

I can speak fluent __

This is where a Recurrent Neural Network fails! Here, we can understand that since the author has worked in Spain for 20 years, it is very likely that he may possess a good command over Spanish. But, to make a proper prediction, the RNN needs to remember this context. The relevant information may be separated from the point where it is needed, by a huge load of irrelevant data.

The reason behind this is the problem of Vanishing Gradient. When dealing with activation functions like the sigmoid function, the small values of its derivatives (occurring in the error function) gets multiplied multiple times as we move towards the starting layers. As a result of this, the gradient almost vanishes as we move towards the starting layers, and it becomes difficult to train these layers. A similar case is observed in Recurrent Neural Networks. RNN remembers things for just small durations of time, i.e. if we need the information after a small time it may be reproducible, but once a lot of words are fed in, this information gets lost somewhere. This issue can be resolved by applying a slightly tweaked version of RNNs – the Long Short-Term Memory(LSTM) Networks.

Introduction to Long Short-Term Memory (LSTM)

Long Short-Term Memory (LSTM) is a special kind of RNN, which shows outstanding performance on a large variety of problems. LSTM networks are a variety of recurrent neural network capable of learning long-term dependencies, especially in sequence prediction problems. LSTM has feedback connections, i.e., it is capable of processing the entire sequence of data, apart from single data points such as images. 

The unit is called a long short-term memory block because the program is using a structure founded on short-term memory processes to create longer-term memory. These systems are often used, for example, in natural language processing. The recurrent neural network uses the long short-term memory blocks to take a particular word or phoneme, and evaluate it in the context of others in a string, where memory can be useful in sorting and categorizing these types of inputs. In general, LSTM is an accepted and common concept in pioneering recurrent neural networks.

Architecture of LSTMs

Now let’s get into the details of the architecture of LSTM network:

A typical LSTM network is comprised of different memory blocks called cell(rectangles shown in below image ). There are two states that are being transferred to the next cell; the cell state and the hidden state. The memory blocks are responsible for remembering things and manipulations to this memory is done through three major mechanisms, called gates. These gates optionally let the information flow in and out of the cell. It contains a pointwise multiplication operation and a sigmoid neural net layer that assist the mechanism. The sigmoid layer gives out numbers between zero and one, where zero means ‘nothing should be let through’, and one means ‘everything should be let through’. Each Gates is being discussed below.

Forget Gate

A forget gate is responsible for removing information from the cell state. The information that is no longer required for the LSTM to understand things or the information that is of less importance is removed via multiplication of a filter. This is required for optimizing the performance of the LSTM network.

This gate takes in two inputs; h_t-1 and x_t. h_t-1 is the hidden state from the previous cell or the output of the previous cell and x_t is the input at that particular time step. The given inputs are multiplied by the weight matrices and a bias is added. Following this, the sigmoid function is applied to this value. The sigmoid function outputs a vector, with values ranging from 0 to 1, corresponding to each number in the cell state.

Basically, the sigmoid function is responsible for deciding which values to keep and which to discard. If a ‘0’ is output for a particular value in the cell state, it means that the forget gate wants the cell state to forget that piece of information completely. Similarly, a ‘1’ means that the forget gate wants to remember that entire piece of information. This vector output from the sigmoid function is multiplied to the cell state.

Input Gate

The input gate is responsible for the addition of information to the cell state. This addition of information is basically three-step process as seen in the diagram below.

  1. Regulating what values need to be added to the cell state by involving a sigmoid function. This is basically very similar to the forget gate and acts as a filter for all the information from h_t-1 and x_t.
  2. Creating a vector containing all possible values that can be added (as perceived from h_t-1 and x_t) to the cell state. This is done using the tanh function, which outputs values from -1 to +1.  
  3. Multiplying the value of the regulatory filter (the sigmoid gate) to the created vector (the tanh function) and then adding this useful information to the cell state via addition operation.

Once this three-step process is done with, we ensure that only that information is added to the cell state that is important and is not redundant.

Output Gate

This job of selecting useful information from the current cell state and showing it out as an output is done via the output gate. Here is its structure:

The functioning of an output gate can again be broken down to three steps:

  1. Creating a vector after applying tanh function to the cell state, thereby scaling the values to the range -1 to +1.
  2. Making a filter using the values of h_t-1 and x_t, such that it can regulate the values that need to be output from the vector created above. This filter again employs a sigmoid function.
  3. Multiplying the value of this regulatory filter to the vector created in step 1, and sending it out as a output and also to the hidden state of the next cell.

Filter needs to be built on the input and hidden state values and be applied on the cell state vector.

LSTM Applications

LSTM neural networks are capable of solving numerous tasks that are not solvable by previous learning algorithms like RNNs. Long-term temporal dependencies can be captured effectively by LSTM, without suffering much optimization hurdles. LSTM networks find useful applications in the following areas:

  • Language modeling
  • Machine translation
  • Handwriting recognition
  • Image captioning
  • Image generation using attention models
  • Question answering
  • Video-to-text conversion
  • Polymorphic music modeling
  • Speech synthesis
  • Protein secondary structure prediction

Hope this will helpful and informative.

RNN(Recurrent Neural Network)

Before going to start the article, I would like to ask a question to all of you :- If I say “working with love I Freshlybuilt” did this make any sense to you? Not at all, now read this :- ” I love working with Freshlybuilt” this made perfect sense. we can see here A little jumble in the words made the sentence incoherent. let’s just think, if human brain was confused on what it meant, so how can we expect a neural network to make sense out of it?

Actually there are multiple such tasks in everyday life which get completely disrupted when their sequence is disturbed. And also there are multiple such cases wherein the sequence of information determines the event itself. For instance, a time series data – where time defines the occurrence of events. If we are trying to use such data for any reasonable output, we need a network which has access to some prior knowledge about the data to completely understand it. Recurrent neural networks thus come into play.

So let’s start with to knowing the topics of the article.

What are Recurrent Neural Networks?

Traditional neural networks will process an input and move onto the next one disregarding its sequence. Recurrent Neural Networks are a class of Artificial Neural Networks that can process a sequence of inputs and retain its state while processing the next sequence of inputs. Data such as time series have a sequential order that needs to be followed in order to understand.

In Illustration, we see that the neural network (hidden state) takes an xt and outputs a value ht. The loop shows how the information is being passed from one step to the next. The inputs are the individual words and each one is passed on to the network F in the same order it is written (i.e. sequentially).

The RNN uses an architecture that is not dissimilar to the traditional NN. The difference is that the RNN introduces the concept of memory, and it exists in the form of a different type of link. This addition allows for the analysis of sequential data — music, text or voice, which is something that the traditional NN is incapable of. Also, traditional NNs are limited to a fixed-length input, whereas the RNN has no such restriction.

An RNN will not require linearity or model order checking. It can automatically check the whole dataset to try and predict the next sequence. As demonstrated in the image below, a neural network consists of 3 hidden layers with equal weights, biases and activation functions and made to predict the output.

These hidden layers can then be merged to create a single recurrent hidden layer. A recurrent neuron now stores all the previous step input and merges that information with the current step input.

Types of RNN(Recurrent Neural Networks)

RNN come in different varieties that are also typically dependent on the task. The type of RNN is described by the number of inputs in relation to the number of outputs. the below image shows the types of RNNs.

The four different types of RNNs listed below, let’s discuss one by one:

  1. One-to-one, which is informally known as the Vanilla RNN. This variety has one input, such as a word or an image, and outputs a single token, such as a word or a Boolean value.
  2. One-to-many, where one input is used to create several outputs.
  3. Many-to-one, where several inputs are used to create a single output.
  4. Many-to-many, where several inputs are analyzed to generate several outputs.

Advantages of an RNN

  1. It can model non-linear temporal/sequential relationships.
  2. No need to specify lags to predict the next value in comparison to and autoregressive process.

Disadvantages of an RNN

  1. Not suited for predicting long horizons
  2. Vanishing Gradient Problem

    Vanishing Gradient Problem :- As more layers containing activation functions are added, the gradient of the loss function approaches zero. The gradient descent algorithm finds the global minimum of the cost function of the network. Shallow networks shouldn’t be affected by a too small gradient but as the network gets bigger with more hidden layers it can cause the gradient to be too small for model training. Gradients of neural networks are found using the backpropagation algorithm whereby you find the derivatives of the network. Using the chain rule, derivatives of each layer are found by multiplying down the network. This is where the problem lies. Using an activation function like the sigmoid function, the gradient has a chance of decreasing as the number of hidden layers increase.

    Other RNN Architectures

    As we saw, RNNs suffer from vanishing gradient problems when we ask them to handle long term dependencies. They also become severely difficult to train as the number of parameters become extremely large. If we unroll the network, it becomes so huge that its convergence is a challenge. so we can use other mentioned RNNs architecture for overcome this problem:

    • LSTMs :- Usually called as Long Short Term Memory networks. They were introduced by Hochreiter & Schmidhuber. they are a special kind of RNN, capable of learning long-term dependencies. They work tremendously well on a large variety of problems, and are now widely used. LSTMs also have this chain like structure, but the repeating module has a slightly different structure. Instead of having a single neural network layer, there are multiple layers, interacting in a very special way. They have an input gate, a forget gate and an output gate. We shall be coming up with detailed article on LSTMs soon.
    • GRUs :- Another efficient RNN architecture is the Gated Recurrent Units i.e. the GRUs. They are a variant of LSTMs but are simpler in their structure and are easier to train. Their success is primarily due to the gating network signals that control how the present input and previous memory are used, to update the current activation and produce the current state. These gates have their own sets of weights that are adaptively updated in the learning phase. We have just two gates here, the reset an the update gate.

    Applications of RNN

    The beauty of recurrent neural networks lies in their diversity of application. When we are dealing with RNNs they have a great ability to deal with various input and output types. Recurrent Neural Networks can be used for a number of ways such as:

    Image Captioning

    In this, an image is automatically given a caption based on what is being shown. This can include complex actions, such as: “Fox jumping over dog”.
    This task requires a one-to-many RNN. let’s say we have an image for which we need a textual description. So we have a single input – the image, and a series or sequence of words as output. Here the image might be of a fixed size, but the output is a description of varying lengths. here is example of image captioning:

    Sentiment Classification 

    This can be a task of simply classifying tweets into positive and negative sentiment. Depending on the complexity of the sentiment, this RNN may be of type many-to-one or many-to-many. If, for example, the sentiment is “positive” or “negative”, then there is only a single output.  So here the input would be a tweet of varying lengths, while output is of a fixed type and size. the below image showing the example the sentiment analysis.

    Language Translation

    In this, the written text or spoken words of one language serves as input, and a different language representing the same text is output.
    This is an example of a many-to-many RNN, where several words are analyzed as input, and the output is also several words in length. This basically means that we have some text in a particular language let’s say English, and we wish to translate it in French. Each language has it’s own semantics and would have varying lengths for the same sentence. So here the inputs as well as outputs are of varying lengths.

    Image classification

    In this, an image is examined and a single determination is made, such as “Daytime picture” versus “Nighttime picture”. This is an example of a one-to-one mapping. in this we classify the images with each other and determine the category for image.

    there are also many other applications of RNNs like : Time series prediction, such as the forecasting of a stock price given a history of values. This task involves using a many-to-one RNN, where many previous stock prices are used to predict a single, future price. And Text classification and sentence completion. RNN is used broadly in text classification, outperforming other well known algorithms such as the Support Vector Machine (SVM). And Segmented handwriting recognition and speech recognition systems have also been successfully implemented using RNNs.

    So RNNs can be used for mapping inputs to outputs of varying types, lengths and are fairly generalized in their application.

    Hope this will informative and helpful.

    CNN(Convolutional Neural Network)

    Have you ever wondered about how object detection helps in building self-driving cars, or how facial recognition works on social media, or  how disease detection is done using visual imagery in healthcare?

    Self Driving Car

    Sounds too much interesting when we hear about these things. Thanks to convolutional neural networks (CNN), It’s all possible by using convolutional neural networks(CNN). A convolutional neural network is a feed-forward neural network that is generally used to analyze visual images by processing data with grid-like topology. and also used to detect and classify objects in an image. 

    In this article, we are going to learn about convolutional neural networks. here are topics for the article

    What is Convolutional Neural Network?

    As we Know Artificial Intelligence has come a long way and has been seamlessly bridging the gap between the potential of humans and machines. And the advancements in Computer Vision with Deep Learning have been a considerable success, particularly with the Convolutional Neural Network algorithm. This field aims to enable and configure machines to view the world as humans do, and use the knowledge for several tasks and processes (such as Image & Video recognition, Image Analysis & Classification, Media Recreation, Recommendation Systems, Natural Language Processing, etc. , and so on).

    Yann LeCun is the pioneer of convolutional neural networks. He is director of Facebook’s AI Research Group. He built the first convolutional neural network called LeNet in 1988. LeNet was used for character recognition tasks like reading zip codes and digits.

     In Deep Learning, a Convolutional Neural Network(CNN) is a class of deep neural networks. It’s also known as a ConvNet, most commonly applied to analyzing visual imagery. CNN are state of the art models for Image Classification, Segmentation, Object Detection and many other image processing tasks. ConvNet algorithm can take in an input image, assign learnable weights and biases to various aspects in the image and be able to differentiate one from the other. The pre-processing required in a ConvNet is much lower as compared to other classification algorithms. The below figure is showing the flow of CNN to process an input image and classifies the objects based on values.

    Technically, deep learning CNN models to train and test, each input image will pass it through a series of convolution layers with filters (Kernals), Pooling, fully connected layers (FC) and apply Softmax function to classify an object with probabilistic values between 0 and 1.

    How does CNN recognize images?

    In CNN, every image is represented in the form of an array of pixel values. let’s consider the below example which is showing the representation of image of digit 8. 

    here is an example which show how CNN recognizes an image

    Layers of Convolutional Neural Network 

    CNN  has multiple hidden layers that help in extracting information from an image. 

    The four important layers are mentioned below:

    1. Convolution layer
    2. ReLU layer
    3. Pooling layer
    4. Fully connected layer

    Let’s start little more detailed discussion about each and every layer one by one:

    Convolution Layer:

    Convolution is the first layer or we can say that first step to extract features from an input image. Convolution preserves the relationship between pixels by learning image features using small squares of input data. It is a mathematical operation that takes two inputs such as image matrix and a filter or kernel. A convolution layer has several filters that perform the convolution operation. Every image is considered as a matrix of pixel values.

    Consider the following 5×5 image whose pixel values are either 0 or 1. There’s also a filter matrix with a dimension of 3×3. Slide the filter matrix over the image and compute the dot product to get the convolved feature matrix.

    =

     
    In this, the convolution of 5 x 5 image matrix multiplies with 3 x 3 filter matrix which is called “Feature Map”. Convolution of an image with different filters can perform operations such as edge detection, blur and sharpen by applying filters.

    ReLU layer:

    ReLU stands for the rectified linear unit. Once the feature maps are extracted, the next step is to move them to a ReLU layer. 

    ReLU performs an element-wise operation and sets all the negative pixels to 0. It introduces non-linearity to the network, and the generated output is a rectified feature map. Below image is showing the ReLU operation:

    There are other non linear functions such as tanh or sigmoid that can also be used instead of ReLU but most of using ReLU because performance wise ReLU is better than the other two.

    Pooling Layer:

    Pooling layers section would reduce the number of parameters when the images are too large. pooling is also called subsampling or down-sampling which reduces the dimensionality of each map but retains important information. pooling can be of different types:

    1. Max Pooling :- Max pooling takes the largest element from the rectified feature map.
    2. Average Pooling :-  Taking the largest element could also take the average pooling.
    3. Sum Pooling :-  Sum of all elements in the feature map call as sum pooling.

    The pooling layer uses various filters to identify different parts of the image like edges, corners, body, feathers, eyes, and beak.

    Fully Connected Layer:

    We flattened our matrix into vector and feed it as input to the fully connected layer like a neural network.

    In the diagram, the feature map matrix will be converted as vector(x1, x2, x3, …). With the fully connected layers, we combined these features together to create a model.

    Here’s how the structure of the convolution neural network looks now:

    Hope this will helpful and informative too.