How To Build Assemble a Computer Step by Step


Basic Networking troubleshooting







Computer Network


Computer Network:

It is the interconnection of multiple devices, generally termed as Hosts connected using multiple paths for the purpose of sending/receiving data or media.

There are also multiple devices or mediums which helps in the communication between two different devices which are known as Network devices. Ex: Router, Switch, Hub, Bridge.



The layout pattern using which devices are interconnected is called as network topology. Such as Bus, Star, Mesh, Ring, Daisy chain.

OSI:

OSI stands for Open Systems Interconnection. It is a reference model that specifies standards for communications protocols and also the functionalities of each layer.

Protocol:

Protocol is the set of rules or algorthims which define the way how two entities can communicate across the network and there exists different protocol defined at each layer of OSI model. Few of such protocols are TCP, IP, UDP, ARP, DHCP, FTP and so on.

Computer Hardware


Introduction to Computer Networks


To get the the content, Visit the following link

ICN

ASM


Why is ASM a "low-level" language? 

Assembly is called a low-level programming language because there's (nearly) a one-to-one relationship between what it tells the computer to do, and what the computer does. In general, one line of an assembly program contains a maximum of one instruction for the computer.

 How is ASM different from a "high-level" language?

 High-level languages provide abstractions of low-level operations which allow the programmer to focus more on describing what they want to do, and less on how it should be done. Programming this way is more convenient and makes programs easier to read at the sacrifice of low-level control. Programs written in high-level languages will never match the raw speed and efficiency of programs written in assembly. Examples of high-level languages include Python, Java, JavaScript, Clojure, and Lisp.

How open source source software works .......................>>>

Open-source software is any computer software that's distributed with its source code available for modification. That means it usually includes a license for programmers to change the software in any way they choose: They can fix bugs, improve functions, or adapt the software to suit their own needs.

Open-Source Software Criteria

The Open Source Initiative (OSI), a global nonprofit founded in 1998, acts as a leading authority on OSS. Its definition of open-source software includes ten criteria, relating to matters such as:
  • Software redistribution
  • Source code availability and integrity
  • Distribution and properties of licenses
  • Derived works
  • Anti-discrimination

Licenses

Different licenses allow programmers to modify the software with various conditions attached. According to the Black Duck KnowledgeBase, a database of some two million open source projects, five of the most popular licenses are:
  1. MIT License
  2. GNU General Public License (GPL) 2.0
  3. Apache License 2.0
  4. GNU General Public License (GPL) 3.0
  5. BSD License 2.0 (3-clause, New or Revised)
When you change the source code, OSS requires the inclusion of what you altered as well as your methods. The software created after code modifications may or may not be made available for free.

Commercial Software

Commercially available software, aka commercial or proprietary software, doesn’t give access to its source code because the software is someone else's intellectual property. As a result, users often pay for it. OSS, on the other hand, is a collaborative effort; The software is shared intellectual property among all who have helped develop or alter it.

Free Software

Although the terms are often used interchangeably, OSS is slightly different from free software. Both deal with the ability to download and modify software without restriction or charge. However, free software—a concept developed in the 1980s by an MIT computer science researcher, Richard Stallman—is defined by four conditions, as outlined by the nonprofit Free Software Foundation. These "four freedoms" emphasize the ability of users to use and enjoy software as they see fit.
In contrast, the OSS criteria, which the Open Source Initiative developed a decade later, place more emphasis on the modification of software, and the consequences of altering source code, licensing, and distribution.
The two overlap; some would say the differences between OSS and free software are more philosophical than practical. However, neither should be confused with freeware. Freeware usually refers to proprietary software that users can download at no cost, but whose source code cannot be changed.

Advantages

While its lack of cost is a key advantage, OSS has several additional benefits:
  • Its quality can be easily and greatly improved when its source code is passed around, tested, and fixed.
  • It offers a valuable learning opportunity for programmers. They can apply skills to the most popular programs available today.
  • It can be more secure than proprietary software because bugs are identified and fixed quickly.
  • Since it is in the public domain, and constantly subject to updates, there is little chance it can become unavailable or quickly outmoded—an important plus for long-term projects.

Popular Types

Open-source technologies helped establish much of the internet. Furthermore, many of the programs in use every day are based on open-source technologies. Cases in point: Android OS and Apple’s OS X are based on the kernel and Unix/BSD open-source technologies, respectively.
Other popular open-source software is:
  • Mozilla's Firefox web browser
  • Thunderbird email client
  • PHP scripting language
  • Python programming language
  • Apache HTTP web server

Developers

OSS projects are collaboration opportunities that improve skills and build connections in the field. Areas that developers can work on include:
  • Communication tools. Email, real-time messaging, forums, and wikis help developers to find solutions or bounce ideas off each other.
  • Distributed revision control systems. When multiple developers in different geographical locations modify data and files, these systems manage the different versions and updates.
  • Bug trackers and task lists. These features allow large-scale projects to monitor issues and keep track of their fixes.
  • Testing and debugging tools. These features automate testing during system integration and debug other programs.

The Bottom Line

Open-source software is an alternative to proprietary software. Participating in an OSS project can be a pathway to building a career in software development, allowing programmers to hone their skills by working on the biggest software programs in the world. Facebook, Google, and LinkedIn all release OSS, so developers can share knowledge, innovate solutions, and contribute to stable, functional products.

Open source software

  What is open source?


The term "open source" refers to something people can modify and share because its design is publicly accessible.
The term originated in the context of software development to designate a specific approach to creating computer programs. Today, however, "open source" designates a broader set of values—what we call "the open source way." Open source projects, products, or initiatives embrace and celebrate principles of open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and community-oriented development.

What is open source software?

Open source software is software with source code that anyone can inspect, modify, and enhance.
"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

Operating system

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

Comparison of Compiler and Interpreter

Basis for comparisonCompilerInterpreter
InputIt takes an entire program at a time.
It takes a single line of code or instruction at a time.
OutputIt generates intermediate object code.It does not produce any intermediate object code.
Working mechanism
The compilation is done before execution.Compilation and execution take place simultaneously.
Speed

Comparatively fasterSlower
Memory

Memory requirement is more due to the creation of object code.It requires less memory as it does not create intermediate object code.
Errors
Display all errors after compilation, all at the same time.Displays error of each line one by one.
Error detectionDifficult Easier comparatively
Pertaining Programming languages
C, C++, C#, Scala, typescript uses compiler.PHP, Perl, Python, Ruby uses an interpreter.

Compiler and Interpreter


Example of high level language, low level language and Machine language