Sunday, May 15, 2016

The Difference Between http and https

The Different Between http and https

HTTP and HTTPS protocol is code language that are familiar to Internet users, because each link that refers to a website definitely use it. This code is also often encountered when we want to do browsing or open a specific web page. We are asked to type the code at the beginning and end with colons and slashes twins when we are browsing the web page you want.

HTTP (Hypertext Transfer Protocol)
Hypertext Transfer Protocol (HTTP) is a network protocol application layer used for information systems of distributed, collaborative, and using hypermedia use a lot in making the resources that are connected by a link called hypertext document which established the World Wide Web in 1990 by English physicist named Tim Berners Lee. Http is a protocol that provides communication between the command in the network, that network communication between the client computer with a web server. In this communication, computer client do request by typing the address or website that you want to access. While the server is processing the request based on the code protocol fed.

Called Stateless HTTP protocol because each command is executed independently, without the knowledge of the commands that came before. This is the main reason that it is difficult to implement Web sites that react intelligently to user input.

http session
A session is a sequence of HTTP request and response transaction network using HTTP protocol. An HTTP client will initiate a request. The client will open a Transmission Connection Control Protocol (TCP) to a particular port that is contained in a host (usually port 80 or 8080). The server is listening on port 80 it will wait for a client request message. When receiving the request, the server sends back a status line, such as "HTTP / 1.1 200 OK", and the message that would be asked, error messages or other information.

Hypertext Transfer Protocol Secure (HTTPS)
Hypertext Transfer Protocol Secure (HTTPS) has the same meaning as HTTP HTTPS only has advantages in the field of security functions (secure). HTTPS found by Netscape Communications Corporation. HTTPS using Secure Socket Layer (SSL) or Transport Layer Security (TLS) as a sublayer under the regular HTTP application layer. HTTP encryption and description of the page requested by the user and pages that are returned by the web server. Both of these protocols provide adequate protection against eavesdroppers, and the man in the middle attacks. In general, use HTTPS port is port 443. The level of protection depends on the correctness of the implementation of web browser and server software and supported by the actual encryption algorithm. Therefore, the use HTTPS web pages, and URLs used starts with 'https: //'.

Https can ensure security in the authentication server and the user's browser to make sure to have confidence that they're talking to.Https application server is also able to maintain data confidentiality and data integrity.

How it works
Https instead of a separate protocol, but refers to the combination of a normal HTTP interaction Socket Layer encrypted via SSL (Secure) or Transport Layer Security (TLS) transport mechanism. This ensures reasonable protection from eavesdroppers and (as long as it is properly implemented and the top level certification authorities do their job well) attacks.

The default TCP port https: URL is 443 (for unsecured HTTP, the default is 80). To prepare a web-server for https connections as an administrator and receiver must make a public key certificate for the web server. This certificate can be created for Linux based servers with tools such as Open SSL ssl or SuSE gensslcert. This certificate must be signed by a certificate authority of one form or another, stating that the certificate holder is who they propose. Web browsers are generally distributed with the signing certificates of major certificate authorities, so that they can verify certificates signed by them.

Advantages change HTTP to HTTPS?
To secure the communication between the browser with the web server. How can? The following brief illustration will answer: When you access a web server using HTTPS protocol, which pages you have submitted first encrypted by this protocol. And all the information that you send to the server (registration, identification, pin numbers, transfer payments) will also be encrypted so that no one could overhear (eavesdropping) in your data when the transaction process is underway. So your data transactions become more safe. HTTPS protocol can be found on the websites of banks, ecommerce, registration, etc. Because in this business area are prone to occur eavesdropping by third parties. For that you need an SSL certificate.

Conclusion
Http and https have the same role in defining how a message can be formatted and sent from the server to the client, just https have advantages in security systems to function encrypts the information using SSL and TLS. Thus https have more security at http compare.

Thursday, May 12, 2016

5 Revolutionizing Tech Companies You Can Work For

5 Revolutionizing Tech Companies You Can Work For

There are thousands of companies that you can work for, but there are only a handful that are revolutionizing the world. These five companies have changed the landscape of technology, eCommerce and the Internet within a few short years, and they are looking for bright and insightful employees. While the competition is obviously fierce, you might have what it takes to join their ranks. If you want to change the world, then apply to one of these five companies.

Sony

Sony is currently one of the leading electronics companies in the world. This international electronics empire manufacturers everything from TVs and cameras to video players and tablets. Despite its many products, Sony’s major contribution to the world was the PlayStation gaming system. Now in its fourth version with PlayStation 4, this is one of the most powerful and popular gaming systems on the planet. In fact, Kazuo Hirai, Sony’s chief executive, has insisted that Sony’s main focus point is its gaming system.

While Sony is a major force in the gaming world, they don’t really need software engineers. They are more interested in hardware engineers that can create revolutionary technology. Most of Sony’s products were invented in-house, which is a major source of pride within the company.

Having an engineering degree and years of experience are essential. They are currently looking for people who are specialized in applied research engineering, manufacturing engineering, ASIC engineering, CAD engineering and embedded engineering. You will also be expected to have experience with quality testing and auditing. Be sure to check the requirements before applying.

Google

Google might be the most recognizable tech company in the world. Aside from making the obscenely popular Google search engine, this company has also spearheaded, acquired and invented many other products and technologies that are commonly used today. For example, the Android OS is currently the most popular mobile OS on the planet. They have also made Google Maps, are working on a driver-less car and released Google Glass.

The working environment at Google is different than at most other companies. You are expected to work with a small team on various projects. Google pushes employees to take distinct tasks to keep the workplace fresh. You are also encouraged to publish your work. Most employees work on algorithms, machine learning, system infrastructure and programming.

This is one of the hardest companies to apply for because Google demands excellence, but the rewards are worth it because you’ll be able to work on the world’s most difficult computer problems. While Google sometimes employs people with four-year or six-year degrees, the majority of software and hardware engineers hold doctorates. The requirements are steep, but you can do it if you’re willing to put in the effort and work as hard as possible.

Amazon

Amazon had humble beginnings as a simple eCommerce store, but it revolutionized the market by creating an online store that would easily rival many of the biggest physical chains across the planet. While Amazon was already making a massive amount of money selling products as an online retailer, this company has branched out into new and interesting markets.

Perhaps Amazon’s best invention was the Kindle. A revolutionary e-reader that changed how books are read today, this device is constantly going through new upgrades and iterations to make it as powerful as possible. Amazon is also spearheading changes in the big data and cloud industries, along with streaming services and other digital products.

Amazon is always looking for new talent, and right now they need product managers and software development engineers and managers. You are expected to have at least a six-year degree and five to seven years of programming experience. If you are applying for a management position, then you also need three to five years of leadership experience.

You must know Hadoop, which is what Amazon is currently using for its big data. You should also be fluent in Java, C++, XML, HTTP and SOAP. Employees are expected to have experience with algorithms, data structures and asynchronous architectures. The last requirement is that you must have experience with or willing to learn how to work with large-scale distribution to ensure that Amazon continues to succeed as an eCommerce empire. Read the requirements to understand the full list of qualifications.

Blizzard

If you’re a gamer, then chances are that you have heard of Blizzard. Their most famous and profitable game was World of Warcraft, but Blizzard has had a long and illustrious history both before and after this game. For example, Blizzard created the loved Diablo series, and they developed StarCraft. While Blizzard is more fond of upgrading their games rather than producing new ones, they still need software engineers and creative minds to produce new games, concepts and technologies for their gaming empire.

Blizzard is constantly looking for game programming interns. Not only will this give you invaluable experience, but you might be hired by Blizzard after finishing your degree. All interns must be currently pursuing a four-year or six-year degree in computer engineering or science, mathematics or game programming. You must also demonstrate your programming skill, have experience with C and C++, understand one of the common scripting languages and have a strong mathematics background.

Blizzard has many open positions, but the requirements are very different depending on which position you are considering.

Square Enix

Square Enix was originally two different game developers that both popularized the RPG genre. SquareSoft created timeless classics like Final Fantasy and Kingdom Hearts, while Enix created the popular Dragon Quest franchise. These companies merged in 2003 to create one of the largest gaming corporations on the planet.

Every Square Enix release pushes the boundaries in terms of graphics, technology and innovation. While this company largely focuses on console games, they have also pushed into the online market with games like Final Fantasy 14. This company requires creative minds that can both create interesting concepts and bring them into reality through 3D modeling and design.

Square Enix is currently looking for a graphics core programmer. This person will be responsible for developing a cutting-edge game engine while working with a team of other creative professionals. The programmer will also be responsible for designing a library of 3D graphics that can be used in various games.

If you want to work for Square Enix, then you must have at least three years of experience with 3D graphics. Applicants are also expected to be familiar with graphics optimization and class design. It’s recommended that applicants understand 3D computer graphics techniques, multi-thread programming and animation techniques.

While you don’t need many years of experience, the requirements are vast. If you are self-taught when it comes to programming and technology, then you might be able to work for Square Enix. At the same time, a degree would definitely help your chances.

Conclusion: There are many powerful companies that make a lot of money, but only a few really change the world. If you want to work for companies with massive resources and interesting positions, then consider applying to one of these five companies. Not only is the salary amazing, but you’ll be able to make a real difference in the world.

Top 5 Highest Paying Jobs for Computer Science Majors

Highest Paying Jobs for Computer Science Majors

Obtaining a job once you have obtained a degree in computer science is possible in a variety of fields today. With the rapid increase in development of technology, getting a top paying job in computer science is possible with the skills, experience and education necessary to help build companies and to continue moving forward with innovation. Researching some of the top paying jobs for computer science majors can help you to determine which path is right for you based on the position’s demands and requirements as well as your own personal interests.



Software Engineer
Working as a software engineer or developer is one of the most lucrative positions available today for students who are currently computer science majors. The US Bureau of Labor Statistics (BLS) projects that there will be more than 1 million total technology professional positions available for those who are currently computer science majors. Software developers earn a median income of approximately $90,530 according to BLS in 2010. Most software developers work more hours than the traditional job, totaling more than 40 hours each work week.

Java Developer
The average salary of a full-time Java developer is approximately $93,000 annually. Java developers are responsible for debugging applications and writing their own Java programs. Many Java developers are also required to handle the design, development and overall engineering of projects they are working on, from start to finish.

Business Analyst
A business analyst is a professional that is capable of scoping out finances and future projects of companies based on stock, sales and current relevancy in any industry. Business analysts often work with the IT department of any company, using analytic reports and statistics to track realistic goals and future growth options. Business analysts are also responsible for giving advice to those in charge about potential decisions that can be made to help better the business. The average business analyst earns approximately $74,000 annually. Contract analysts who work for businesses can earn anywhere from $26,000 to more than $89,000 depending on the clientele and the amount of work that is completed.

Network Engineer
Network engineers maintain, support and manage communication networks and in some cases, even servers within a company. Network engineers are also responsible for installing new equipment and network needs to keep all employees connected and working together simultaneously each day. Although many positions available for those seeking work as a network engineer fall within internal IT departments in companies, it is also possible to work independently with a networking consulting firm depending on your qualifications and experience. The average annual salary of a network engineer ranges from $67,000 to upwards of $90,000.

Web Developer
Working as a web developer is another high-paying position available for computer science majors. Web developers earn a median income of $75,660 according to BLS in 2010. Those who work with developing websites have experience with debugging applications, writing code and even integrating everything from video, audio and social media widgets into websites.

Comparing some of the top paying jobs that are available today in computer science is a way to gain more insight about the field and how you can integrate it into your own personal life or line of work. Taking the time to research each position you are drawn to is a way for you to feel satisfied with your career choice years down the line.

10 of The Best Masters of Computer Science Programs

As technology continues to evolve, companies will need more individuals with advanced skills in computer science. For those choosing to pursue an advanced degree, it’s important to choose the right school. Listed below are the top ten schools to obtain a Masters in Computer Science (CS).

10: North Carolina State University (NCSU)
North Carolina State University’s program is considered a terminal professional degree program, meaning that the course is based solely on coursework and attendance at colloquia (www.csc.ncsu.edu). There is no thesis or final examination requirement. Most students are enrolled on a part-time basis.

NCSU offers both on-campus and distance educational opportunities. Degrees can be earned in Computer Science and Computer Networking. Students are required to take 9 core classes, 12 computer science graduate electives and 9 other electives, totaling 31 credit hours.

Students must maintain a minimum GPA of 3.0. Students can choose to perform independent study as part of their coursework provided they attend classes at NCSU and work with a faculty advisor. Students must complete all coursework within six calendar years in order to receive their MS.

9: University of Pittsburgh
The University of Pittsburgh’s MS program is designed to prepare students for jobs in the CS industry. Students are expected to be active participants in their education through coursework and independent study, participate in research and work with fellow students.

The MS degree requires 30 hours of coursework. Students choosing a thesis option take 8 courses, plus their thesis work. Students choosing to work on a project take 9 courses plus their project. Each course must be completed with a grade of “B” or better.

Students taking the thesis option will work with an advisor to select a thesis committee of at least three faculty members, including their advisor. Students will defend their thesis at a final oral presentation. Thesis students are required to take both core and elective classes pertaining to their thesis topic.

Students choosing the project option must select a project with their advisor and receive approval of the project report from their advisor. Students must take core and elective courses as well as complete coursework in directed research.

8: Drexel University
Drexel MS candidates take 45 quarter credit hours maintaining a 3.0 GPA throughout the program. Students must complete a Plan of Study by the seventh week of the first quarter of study. Students can choose a thesis or non-thesis option.

Students choosing to write a thesis must find a thesis supervisor and defend their thesis prior to receiving their MS. Thesis students take 3 hours of research classes, then 6 credit hours to learn to write and defend their thesis. Non thesis students are required to take additional coursework to earn credits for graduation.
All students are required to meet the breadth and depth requirements of the department.

7: Colorado State University
Colorado State’s Master of Computer Science (MCS) degree is a coursework only degree, completed with a minimum of 35 hours of coursework. Students are required to have a planned program of study, approved by their adviser by the second semester of study. Students must maintain a GPA of 3.0 to remain in the program. Applicants must have experience in programming, data structure, computer organization, operating systems and program design.

In addition to on-campus coursework, Colorado State also offers an online MCS degree. Students not enrolled in the program may take online coursework. Individuals can earn up to 14 credits, or three courses, online prior to applying for admission to the program.

6: Washington State University
Washington State University offers MS programs in algorithms and theory of computing; computer networks and distributed computing; graphics, computational geometry and image processing; and knowledge discovery (school.eecs.wsu.edu). Thesis and non-thesis options are available. Thesis projects can attract funding from government and private sources.

5: University of California – Santa Barbara (UCSB)
UCSB calls itself “a young, energetic and dynamic department, world renowned for its strong research program and award winning faculty” (www.cs.ucsb.edu). UCSB has research in areas such as bioinformatics, architecture, database and information systems and software and security.

The MS program can be completed with a thesis, a project or a comprehensive exam. All students are required to complete basic coursework and are guided through the program by a faculty advisor. Each student chooses a Study Plan and works it with their adviser. Those writing a thesis must defend it prior to receiving their MS. Students creating a project must do a 30 minute presentation. Students taking the comprehensive examination have two attempts to pass.

4: Purdue University
Purdue offers both an on-campus and online programs for their MS program, with and without a thesis option. Applicants are expected to have proficiency in programming languages, advanced mathematics and system architecture. Students choosing to write a thesis take eight 3-credit courses, plus their thesis. Non-thesis students take ten 3-credit courses.

Purdue offers three multidisciplinary programs in their MS program: Computational Science and Engineering; Computational Life Science; Statistics-Computer Science Joint Masters. MS students have the benefit of the relationships Purdue has established with corporate partners, allowing students to obtain fellowships and get real world experience.

3: Georgia State University
Located on the school’s Atlanta campus, Georgia State’s program is consistently ranked as one of the best MS programs in the Southeastern United States. Georgia State is actively involved in research in algorithms, graphics and visualization, bioinformatics and networks and visualization. The program requires a BS in Computer Science, a statement of background and goals and three letters of recommendation.

Students must receive a minimum grade of “B” in all coursework. Students have a thesis option or project option depending on their goals. All work is supervised by graduate faculty. Like the University of Nebraska, students must pass an oral exam in defense of their thesis or project prior to receiving their MS.

Georgia State offers an MS with a Bioinformatics concentration with either a thesis or project option. Candidates take additional coursework in chemistry, biology and biostatistics.

2: University of Nebraska – Lincoln
Students wanting to attend the University of Nebraska must have a solid background in Computer Science and Mathematics. The University of Nebraska offers a thesis option for those who plan to pursue additional education in CS and a project option for those who plan to stop their studies upon receiving their Master’s. Both programs require students to work with a committee comprised of three faculty members who oversee the thesis or project through its completion. All students are required to pass a final oral exam to receive their degree.

Both programs have breadth and depth requirements. Students must attend a minimum of 15 master’s thesis presentations, doctoral oral presentations or departmental colloquia. Masters project presentations do not count toward these hours.

Students taking the thesis option take an additional 24 hours of regular coursework as well as complete their thesis under the supervision of a faculty member. Students also take thesis coursework and 9 hours of advanced coursework. Students are expected to contribute original research to their thesis.

Project coursework consists of 30 hours of regular coursework and 3-6 hours of project work approved by the student’s supervisory committee. Projects are not required to have original research, but they are expected to be of exceptional quality.

Oral exams are 2 hours long during which students must defend their project or thesis to the committee.

1: University of Illinois
Located in Urbana, the University of Illinois’ School of Computer Science is based in the Thomas M. Seibel Center for Computer Science. This “living lab explores and evaluates emerging technology” (www.cs.illinois.edu). The University of Illinois offers two options for those seeking to obtain their Masters of Computer Science.

The first option is a Master of Science (M.S.) based in research that requires 28 credit hours of coursework and 4 credit hours of thesis work. Students must first complete both breadth and depth coursework maintaining a grade of a B-. Additionally, students write their master’s thesis and take coursework on thesis research. Students must begin thesis work by their third semester in the program. Students may be eligible for research or teaching assistant-ships to help with tuition expenses. All requirements must be met within 5 consecutive semesters. Only the fall and spring semesters are counted.

The University of Illinois also offers a Professional Master’s (MCS). This is a non-thesis degree that requires 32 hours of graduate coursework. Coursework can be completed on campus or part-time online. Students are ineligible for teaching assistant-ship in this program.

MCS students are required to take the same breadth courses as those in the MS program. However MCS candidates take 12-16 hours of coursework. They then complete an additional 12 hours of coursework at the 500 level or higher. The program must be completed within 5 years.

Both programs require a minimum number of classes be completed on campus at Urbana. Up to 12 hours of previous coursework can be transferred toward either degree if they are applicable to the program requirements.

Sources:

http://cs.illinois.edu/current-students/graduate-students/professional-masters-mcs
http://cse.unl.edu/grad/mscsgen.shtml
http://www.cs.gsu.edu/?q=graduate_programs
http://www.cs.purdue.edu/graduate/index.html
http://www.cs.ucsb.edu/graduate/
http://school.eecs.wsu.edu/graduate/
http://www.drexel.edu/cs/academics/grad/ms/requirements/
http://www.cs.colostate.edu/cstop/csacademics/csdistancelearning.php
http://www.cs.pitt.edu/grad/ms.php
http://www.csc.ncsu.edu/academics/graduate/degrees/ms.php

Wednesday, May 11, 2016

What is e-Learning?

e-Learning History

Along with the development of Information Technology (IT) that is rapidly increasing, the need for a concept and mechanism of learning (education) -based IT becomes inevitable. The concept was then known as e-Learning bring the influence of conventional education transformation process into digital form, both contents (contents) and the system. 

Currently the concept of e-Learning has been widely accepted by the world community, as evidenced by the rise of e-Learning implementation in educational institutions (schools, training and universities) and industry (Cisco Systems, IBM, HP, Oracle, etc.). 

John Chambers who is the CEO of Cisco Systems says that for the next era, applications in education will be the "killer application" very take effect. The Commerce Department and the US education department even jointly launched the Vision 2020 concept based education related to Information Technology (e-Learning) [Vision 2002]. 

The term e-Learning contains a very broad sense, so many experts who elaborate on the definition of e-Learning from various viewpoints. One definition is quite acceptable by many example of Darin E. Hartley [Hartley, 2001] which states:

e-Learning is a type of learning that allows how to teaching materials for students to use media Internet, Intranet or other computer network media.

LearnFrame.Com in e-Learning Glossary of Terms [Glossary, 2001] expresses a broader definition that:

e-Learning is an education system that uses an electronic application to support teaching and learning with the Internet media, computer networks, as well as a standalone computer.

Another definition of e-Learning with different viewpoints can be studied in full from: http://www.google.com/search?num=30&hl=en&lr=&ie=UTF-8&oe=UTF-8&q=define%3A%20e-learning

Of the dozens or even hundreds of definitions that appear we can conclude that the education system or the concept that use of information technology in teaching and learning can be referred to as an e-Learning.

Which One is Right "e-Learning" or "eLearning"?

Actually we do not need to be a dichotomy differences in the use of the words above. However, if you want to try to analyze, the phenomenon is a bit similar to the word "email" and "e-mail". Until 1998 almost everyone uses the term "e-learning" (with a hyphen). Cisco uses the term "e-learning" and SmartForce use the term "e-Learning Company". After starting to mature and widely known, hyphens start is not used. so that is used the term "e-learning" or "eLearning" (without hyphens). Microsoft uses the term "eLearn" as well as several other vendors.

Current usage of the word "e-learning" (with a hyphen) is still more than elearning (without hyphens). The search engine google.com prove this fact as follows:
• 4.15 million search results for the word "e-learning" (without the hyphen)
• 6.34 million search results for the word "e-learning" (with a hyphen)

After that some variation of the word evolved with the use of uppercase or lowercase letters to "L". Essentially there is no wrong or right, the two words that can be used as the correct terminology. This paper used the word e-Learning for uniformity.

Advantages of Using e-Learning

The advantages of using e-Learning are as follows:
  • Saves time learning process
  • Reduce travel costs
  • Reduce the cost of education as a whole (infrastructure, equipment, books)
  • Reaching a wider geographic area
  • Train more independent learners in gaining knowledge

The e-Learning From Time to Time
A brief description of the development of e-Learning from time to time is as under [Cross, 2002]:

1990: CBT (Computer Based Training)
An era where emerging e-Learning applications that run in a standalone PC or a CD-ROM packaged form. Fill in the form of matter in writing and multimedia (video and audio) format MOV, MPEG-1 or AVI. The software company issued a development tool called Macromedia Authorware, while Asymetrix (now named Click2learn) also developed software called Toolbook.

1994: CBT Package
Along with the start acceptance by the public CBT, CBT appeared since 1994 in the form of packages more attractive and mass-produced.

1997: LMS (Learning Management System)
Along with the development of Internet technology in the world, the world community are being connected to the Internet. The need for rapid information obtained becomes absolute, and the distance and the location is not a barrier anymore. Here comes the title Learning Management System or commonly abbreviated to LMS. LMS is increasingly rapid developments create new thinking to tackle the problem of interoperability between existing LMS with a standard. Standard emerging example is the standard issued by AICC (Airline Industry CBT Committee), IMS, IEEE LOM, ARIADNE, etc.

1999: Web Based e-Learning
LMS development leading to the application of Web-based e-Learning in total, both for the learner (learner) as well as teaching and learning administration. LMS start combined with portal sites that are currently virtually become a barometer of information sites, magazines, and newspapers of the world. Content is also increasingly rich mix of multimedia, video streaming, and interactive displays in a wide selection of more standard data format, small and stable.
E-Learning Development Strategy 
When we talk about the strategy of the development of e-Learning, it is essentially the same as software development strategy. This is because e-Learning is also a software.

Monday, May 9, 2016

What is Software Agent

What is Software Agent?

One of the new paradigm in software engineering is the paradigm of software agents. However actually, in theory, have long existence revealed by researchers, especially in the field of Artificial Intelligence. Nowadays with the development of computer network technology, including the Internet therein, the paradigm needs software and programs that can perform tasks delegated to them independently, has intelligence, and ability to move in a computer network environment, is very urgent. Here, the role of software agents to be something that can not, should exist to address some of the problems that arise as mentioned above. This paper will discuss the software agent technology, both in theory and practical review, and also describes the application of agent technology in various fields of research.

1. INTRODUCTION
Today commonly used vocabulary agent, both in the field of informatics and computer science, such as software engineering, artificial intelligence (AI), distributed system, etc., as well as in other related fields such as industry, manufacturing, business, electronic commerce, etc. The popularity of the use of agent technology in various fields of knowledge does not mean to make a clear definition of agent. But it makes less and less clear definition of agent, because each researchers attempted to define the agent in accordance with the background knowledge they have. However until now there is no agreement of the researchers on the formal definition of what is called the agent. Consequences arising from the absence of a consensus definition agent is, the emergence of use agent with a banner that vary, although is sometimes the same, or there are no significant differences in it, example is the use of words, intelligent agents, agent technology, software agents, autonomous agent, or agent. In this paper we use the word agent and a software agent to represent some of the vocabulary of the above. In this paper will be discussed on agent technology, both in theory and practical review, and also describes the application of agent technology in various fields of research. The organization of this paper is as follows. The explanation we start with the history, background and definition of agent (parts 1 and 2), with the aim that we can equate the initial perception of the agent we talked about. After also described in detail on the characteristics, the areas associated with agent (parts 3 and 4). In section 5 will
discussed several related fields of science and influential in the software agent. And in section 6 will be explained about the benefits obtained in the framework of the use of software agents. Log in to the 7, will be discussed on the general architecture of the software agent. Then will discuss the issues of methodology and tools in software development agent in section 8. Research and applications relating to the software agent will be described in more detail in section 9, and continued on the 10th with an explanation of the agent software standardization efforts and organizations that support in that direction. This paper concludes with a summary and a list of pointers or resource associated with software agents.
http://www.qer.us/2016/05/what-is-software-agent.html


2. HISTORY AND BACKGROUND SOFTWARE AGENT
According Nwana [Nwana, 1996], the concept of agent has been long known in the field of AI, precisely introduced by a researcher named Carl Hewitt [Hewitt, 1977] with concurrent actor his model in 1977. In his model Hewitt theorized about an object that he calls the actor, who has the characteristics of master himself, interactive, and can respond to the messages that come from other similar objects. From various studies related to the above, then was born the branch of a large which is a derivative of AI that is Distributed Artificial Intelligence (DAI), which among other things oversees the areas of research, Distributed Problem Solving (DPS), Parallel Artificial Intelligence (PAI), and Multi-Agent system (MAS). This period is known for the first generation of future research software agent, ie the period from 1970 to 1990. In general, the concentration of research in this period directed towards: internal modeling agent symbolically, macro issues regarding interaction, coordination, and communication among agents within the framework of MAS. The main objective is to analyze, design, and integrating the system within the framework of an agent that can collaborate with each other. Various studies conducted on the first generation (1970-1990) was summarized in a complete and well-organized in books edited by Bond and Gasser [Bond et. al., 1988], Gasser and Huns [Gasser et. al., 1989], and Chaib-draa [Chaib-draa et. al., 1992]. Then the second generation period of the study agent is the period of 1990 to date. Concentration of research on this period in particular is on: the development and study of the theory agent (agent theory), architecture agent (agent architecture) and the programming language used (the agent language). Well summarized in books and papers by Wooldridge and Jennings [Wooldridge et. al., 1994], [Wooldridge et. al., 1995], and [Wooldridge et. al., 1996].

3. DEFINITIONS AND CHARACTERISTICS SOFTWARE OWNED BY AGENT
3.1. Definition of Software Agent

First of all let's start defining agent of the dictionary meaning. In the Webster's New World Dictionary [Guralnik, 1983], the agent is defined as:
A person or thing that acts or is capable of acting or is empowered to act, for another. Here there are two points that we can take:
  • Agent has the ability to perform a task / job.
  • Agent perform a task / work in the capacity for something, or to someone else.
Withdrawn from the points above Caglayan [Caglayan et al., 1997] defines a software agent as:
An entity is a computer software that allows the user (users) to delegate tasks to him independently (autonomously). Then some other researchers have added one more point, namely that the agent should run within the framework of the network environment (network environment) [Brenner et. al., 1998]. Definition agent of other researchers are essentially similar, although there are add attributes and characteristics of the agent into the definition. A complete definition of agent and Compare, summary by Franklin in his paper [Franklin et. al., 1996].

3.2. Characteristics and Attributes Software Agent
To deepen the understanding of the software agent, functions, roles, and associated software are fundamental differences existing programs, the following will be explained about some of the attributes and characteristics possessed by a software agent. Of course not all of the characteristics and attributes are summarized in a single agent (see section 4 concerning the classification of software agent). In essence the list of characteristics and attributes below are the results of a survey of the characteristics possessed by agents
that exist at the moment.

  1. Autonomy: Agents can perform tasks independently and is not affected directly by the user, the other agent or by the environment (environment). To achieve the objective in performing their duties independently, agents must have the ability to control every action they do, both out of action as well as into [Wooldridge et. al., 1995]. And one more important thing that supports autonomy is a matter of intelligence (intelligence) of the agent.
  2. Intelligence, Reasoning, and Learning: Each agent must have a minimum standard to be called agent, namely intelligence (intelligence). in concept intelligence, there are three components must be present: internal knowledge base, reasoning ability, based on a knowledge base that is owned and learning ability to adapt in a changing environment.
  3. Mobility and Stationary: Especially for mobile agent, he must have the ability that is characteristic of the highest he has that mobility. The opposite of that is stationary agent. However both still have the ability to send messages and communicate with another agent.
  4. Delegation: As its name suggests and as we have already discussed in the definitions section, the agent moves within the framework of carrying out the tasks ordered by user. The phenomenon of delegation (delegation) are the main characteristics of a program called agent.
  5. Reactivity: Characteristics of the other agent is the ability to be able to quickly adapt to any changes in the information contained in an environment (environment). That environment may include: another agent, the user, the information from the outside, etc. [Brenner et. al., 1998].
  6. Proactivity and Goal-Oriented: The nature of proactivity might say is a continuation of the nature of reactivity. Agent not only required to adapt to changes in the environment, but also must take steps to resolve any initiatives to be taken [Brenner et. al., 1998]. For the agent to be designed own goal (goal) is clear, and is always oriented to the purpose to which it aspires (goal-oriented).
  7. Communication and Coordination Capability: Agent must have the ability to communicate with the user and also the other agent. Problems of communication with the user is entered into the user interface and device problems, while the issue of communication, coordination, and collaboration with other agents is a central problem of research Multi Agent System (MAS). However to be able to coordinate with other agents in the line of duty, necessary standard language to communicate. Tim Finin [Finin et al., 1993] [Finin et al., 1994] [Finin et al., 1995] [Finin et al., 1997] and Yannis Labrou [Labrou et al., 1994] [Labrou et al., 1997] is a researcher software agent that is a lot involved in research on language and communication protocols between agent. One of their products is the Knowledge Query and ManipulationLanguage (KQML). This then is still associated with communication between the agent is Knowledge Interchange Format (KIF).

4. CLASSIFICATION SOFTWARE AGENT
4.1. According Characteristic Classification Software Agent Owned
Classification techniques pioneered by the agent according to the characteristics of Nwana [Nwana, 1996]. According Nwana, agents can be classified into seven based on its characteristics.

  1. Collaborative Agent: Agent who has the ability to perform collaboration and coordination between agents within the framework of Multi-Agent System (MAS).
  2. Interface Agent: Agent who has the ability to collaborate with the user, performs the function of monitoring and learning to meet the needs of the user.
  3. Mobile Agent: Agent who has the ability to move from one place to another, and independently perform tasks of his new place, in a computer network environment.
  4. Information and Internet Agent: Agent who has the ability to surf the Internet for searching, filtering, and presentation of information to the user, independently. Or in other words, to manage the information in the Internet network.
  5. Reactive Agent: Agent who has the ability to be able to quickly adapt to a new environment where it is located.
  6. Hybrid Agent: We do have five classifications agent. Then the agent who has characteristic which is a function of the characteristics that we mentioned earlier is entered into the hybrid agent.
  7. Heterogeneous Agent System: In an environment of Multi Agent System (MAS), if there are two or more hybrid agents that have different abilities and characteristics.

Friday, May 6, 2016

How To Running Android On Linux

Running Android On Linux

After learning a glimpse of Android this time I will try to write how how to try in the Android operating system Linux, in this praketk me Android emulator running on PCLinuxOS 2010, if you want to use it you can download via the official website here http://www.pclinuxos.com/. Before starting you have to first download the Android SDK needed as the main base of the Android emulator. Please download via the following url http://developer.android.com/sdk/index.html adjust to the platform you are using, because I use Linux so I download the Linux version. after successfully
downloaded the next step is as follows:

  1. Extract the file and then open the folder and then open the folder extract the tools.
  2. Run the file named android. Download the SDK you before, have not included the required Android Platform to create Android Virtual Device. So it's time to update the packages in the SDK. This order includes the Android platform is required. When running this process, the computer. You must be connected to the Internet. The packages will be downloaded directly from the Internet, through the Android application that we have run in the past.
  3. Click the packages available as well. After checking the Android repository, press Install selected button.
  4. Select the desired Platform SDK. I personally choose all available versions now.
  5. Wait until the installation is complete.
  6. Once the Platform SDK is installed, it is time to create virtual devices. In this phase you are free to choose the desired version of Android, screen size and features more.
  7. Now you have an Android device that is ready to run. Select the virtual device want to run, then click the start button. The boot process is rather long, so it should be a little patience.
  8. I try to open a web www.qer.us of Android that I have undertaken. Now I can use Android, though not directly with the device indeed.
Description: This emulator could also run on Windows and Mac operating systems, at the time
download Android SDK select the version appropriate to your computer's operating system.
Thus my writing about how to run Android on Linux using the emulator, hopefully this article can be useful for colleagues who want to try the operating system Android but do not have a mobile device that can run the Android operating system, or for those of you who are trying to make an application for Android can do trial through the first emulator.

Thursday, May 5, 2016

History of Multimedia

What is Multimedia

According to IBM, multimedia is a combination of video, audio, graphics and text in a production stratified based computer that can be experienced interactively or by McCormick multimedia in general is a combination of three elements, namely sound, image and text or by Robin and Linda multimedia is a tool that can be creating dynamic and interactive presentation that combines text, graphics, animation, audio and video images (in http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf).

History of Multimedia

Suyanto (2003: 19) states that the term originated from the multimedia theater, not a computer. Performances that use more than one medium often called multimedia shows. Multimedia show includes a video monitor and artwork humans as part of the show. Multimedia system began in the late 1980s, since the beginning of almost every supplier of hardware and software to jump into multimedia. In the year of
1994 is estimated there are more than 700 products and multimedia systems market.

Definition of Multimedia

In the electronics industry, according Suyanto (2003: 20), Multimedia is a combination of computer and video (Rosch, 1996) or multimedia in general is a combination of three elements, namely sound, images and combines links and tools that allow users to navigate, interact, create and communicate.

Multimedia Object

According to Sutopo (2003: 8), multimedia objects are divided into:
1. Text
According to Sutopo (2003: 8), Almost all people who use their computers are already familiar with the text. Text is the basis of word processing and multimedia-based information. In fact multimedia presenting information to an audience quickly, because it is not necessary to read in detail and meticulous. According to Hofstetter (in http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf) is the most multimedia systems designed using text because the text is an effective means to express ideas and provide instructions to the user (users).

2. Image
According to Sutopo (2003: 9), the general image or graphic means still images such as photographs and drawings. Humans are very visually oriented and drawing an excellent means for presenting information.

3. Animation
According to Sutopo (2002: 2), the animation is the formation of the movement of various media or objects that varied with the movement transitions, effects, also sound in tune with the movement of the animation or animation are viewing frames of images quickly to produce the impression of movement.

4. Audio
According to Sutopo (2003: 13), presenting audio or sound is another way to further clarify the concept of information. For example, the narrative is the completeness of explanation seen via video. Sounds can better explain the characteristics of an image, such as music and sound effects (sound effect). One form of sound that can be used in the production of multimedia is Waveform Audio is an audio file format digital form. Product quality depends on the sampling rate (number of samples per second). Waveform (.wav) is a standard for Windows PCs.

5. Video
According to Suyanto (2003: 279), the video is the most complex multimedia elements for delivery information more communicative than usual image. Although composed of the same elements such as graphics, sound and text, but different forms of video with animation. The difference lies in the presentation. In the video, the information presented in the unity of the whole object is modified

Interactive user link required when pointing at an object or button in order to access certain programs. Interactive link needed to combine multiple multimedia elements to become an integrated information. How to control access on multimedia information, there are two kinds, namely linear and non-linear. Linear information is information displayed sequenced, ie from top to bottom or page by page, while the non-linear information (see Figure below) can be displayed directly in accordance with the will of the user.