Why is Artificial Intelligence important?

Image
The AI learning adventure explores intelligence and its connection to engineering and technology.  Using ideas about human intelligence and intelligence more broadly, engineers can create “artificial intelligence,”; that is, impart “human” intelligence into machines or technology (Classical AI) or design technology that can itself “create” intelligence (future AI).  In fact, understanding how the brain works—”reverse-engineering the brain”—and understanding how engineers design intelligent machines—machines that replicate human intelligence—is one of the “Grand Challenges of Engineering” as set forth by The National Academy of Engineering (NAE). The implications and benefits of understanding the brain are many.  In addition to advances in the treatment of brain injuries and diseases and advancements in communications technology and computer simulations, understanding the brain will allow the design of intelligent machines with even more signicant societal impacts.  Already, mac

What is "GitHub"? Why Teams should opt it?

The “Git” in GitHub

So, Git is a version control system, but what does that mean? When developers create something (an app, for example), they make constant changes to the code, releasing new versions up to and after the first official (non-beta) release.To understand GitHub, you must first have an understanding of Git. Git is an open-source version control system that was started by Linus Trovalds—the same person who created Linux. Git is similar to other version control systems—Subversion, CVS, and Mercurial to name a few.

Version control systems keep these revisions straight, storing the modifications in a central repository. This allows developers to easily collaborate, as they can download a new version of the software, make changes, and upload the newest revision. Every developer can see these new changes, download them, and contribute.
Similarly, people who have nothing to do with the development of a project can still download the files and use them. Most Linux users should be familiar with this process, as using Git, Subversion, or some other similar method is pretty common for downloading needed files—especially in preparation for compiling a program from source code (a rather common practice for Linux geeks).
Git is the preferred version control system of most developers, since it has multiple advantages over the other systems available. It stores file changes more efficiently and ensures file integrity better. If you’re interested in knowing the details, the Git Basics page has a thorough explanation on how Git works.

The “Hub” in GitHub

We’ve established that Git is a version control system, similar but better than the many alternatives available. So, what makes GitHub so special? Git is a command-line tool, but the center around which all things involving Git revolve is the hub—GitHub.com—where developers store their projects and network with like minded people.
Let’s go over a few of the main reasons that geeks like to use GitHub, and learn some terminology along the way.
Repository


A repository (usually abbreviated to “repo”) is a location where all the files for a particular project are stored. Each project has its own repo, and you can access it with a unique URL.

Forking a Repo

“Forking” is when you create a new project based off of another project that already exists. This is an amazing feature that vastly encourages the further development of programs and other projects. If you find a project on GitHub that you’d like to contribute to, you can fork the repo, make the changes you’d like, and release the revised project as a new repo. If the original repository that you forked to create your new project gets updated, you can easily add those updates to your current fork.

Pull Requests

You’ve forked a repository, made a great revision to the project, and want it to be recognized by the original developers—maybe even included in the official project/repository. You can do so by creating a pull request. The authors of the original repository can see your work, and then choose whether or not to accept it into the official project. Whenever you issue a pull request, GitHub provides a perfect medium for you and the main project’s maintainer to communicate.

Social networking

The social networking aspect of GitHub is probably its most powerful feature, allowing projects to grow more than just about any of the other features offered. Each user on GitHub has their own profile that acts like a resume of sorts, showing your past work and contributions to other projects via pull requests.
Project revisions can be discussed publicly, so a mass of experts can contribute knowledge and collaborate to advance a project forward. Before the advent of GitHub, developers interested in contributing to a project would usually need to find some means of contacting the authors—probably by email—and then convince them that they can be trusted and their contribution is legit.

Changelogs

When multiple people collaborate on a project, it’s hard to keep track revisions—who changed what, when, and where those files are stored. GitHub takes care of this problem by keeping track of all the changes that have been pushed to the repository.

GitHub Isn’t Just for Developers

All this talk about how GitHub is ideal for programmers may have you believing that they are the only ones who will find it useful. Although it’s a lot less common, you can actually use GitHub for any types of files. If you have a team that is constantly making changes to a word document, for example,  you could use GitHub as your version control system. This practice isn’t common, since there are better alternatives in most cases, but it’s something to keep in mind.
Now that you know what GitHub is all about, are you ready to get started? Head over to GitHub.com and be sure to check out their help pages after signing up.
OTHER REASONS WHY DEVELOPERS RELY ON GIT:
  • Collaboration made simple. A programmer uploads code to Git, where other developers can access it and edit it, isolated from each other and with all versions kept intact. Git takes away any confusion with having multiple people work on the same file at the same time.
  • Version control made easy. Every time edits are made to code, Git takes a snapshot. This tracks all the versions of a project along the way, saving a previous snapshot each time the file is saved in its “current state”—this is called a commit. Snapshots also let you revert back to old versions if something “breaks.”
  • Git has three main areas that are uniquely designed to give developers lots of control over workflow:
    • A working directory, which contains current states of files. Numerous developers can access a directory when they’re logged in, so collaboration is easy.
    • The staging area, which contains indexes of everything for the next commit, and any files that have been added or edited since the previous save.
    • The Git repository, where new commits are added. A Git repository contains (a) all the metadata, (b) the files, and (c) a dedicated database that tracks versions of the project.
  • Branches are one of the most important parts of Git, and make collaborating and incrementally adding to code possible, and foolproof. Developers and designers can work on the same project in an organized way—especially digital teams with remote freelancers. In a branch, some or all of the code is isolated from the project so it can be worked on without affecting the master branch. That code can be experimented with and worked on, then either made into its own, new project, or merged back into the original branch. 
GitHub is Git’s cloud-based publishing tool and hosting platform. It also has a desktop application for locally storing projects. With GitHub, you can:
Bring projects to life. Git repositories are hosted on GitHub and made “live.” This enables developers to post a site or application when it’s in development stages. By sending a link to a GitHub project, clients can easily test-drive a site in progress with functionality, rather than just looking at flat mockups.
  • Browse the most popular development projects. Browse GitHub for “trending” repositories—an interesting way to check out other developers’ work and check out “starred” projects that are recommended by GitHub staff members. Public repository files can be downloaded as zip files and saved locally on your computer.
On GitHub, you can StarWatch, and Fork:
  • Fork: Make a copy of a project and start working on it yourself.
  • Watch: Get updates when changes are made to a project you’re following.
  • Star: GitHub’s version of the “Like” button on Facebook, it’s a voting system that enables developers to vouch for projects they think are excellent.
On the collaboration front, GitHub also lets team members set up the following:
  • Issues: These keep track of what collaborators are doing and lets them ask about bugs. Issues can be opened or closed once they’re addressed.
  • Milestones: Set these up and give collaborators goals to work toward.

Have a Remote Digital Team? GitHub Is for You

With an emphasis on speed, data integrity, and excellent support for distributed, non-linear workflows, Git is the gold standard for remote digital teams. Also, Git is convenient for working offline or without a VPN (virtual private network), making it easy for developers to work on the go and stay productive. For teams rapidly building sites and prototypes for customers, GitHub is an efficient, safe and seamless way to get projects reviewed, approved, and signed off on.

Comments

Popular posts from this blog

Waterfall vs Agile and Scrum Methodology

Innovate your business through Test and Learning Approach

Top 10 companies working on DevOps | NIIT digiNxt