Sunday, November 24, 2013

Future of Artificial Intelligence


Brain Image
Image Source
What is artificial intelligence? In simple words, it is a part of computer science that focuses on creating smart machines that works faster and intelligently. 

Have you imagined a future where computer technologies are smarter than humans and have conquered the world? I am sure you did imagine this future after watching science fiction movies like Terminator, Transformers, iRobot and many more. These movies make you think that computer technologies will become so powerful in the future and it will be extremely hard for humans to control them. This raises a new question in our mind. Will this really happen in the future? Well, there is no right answer. As a computer science student, I would say it depends upon humans who design artificial intelligence.  It is unlikely to create dangerous artificial intelligence entities which will destroy humanity, because no human is interested in destroying human race. The main purpose of creating artificial intelligence entities is to help us in our daily activities. It could be from simple tasks like cooking to complicated tasks like surgery and scientific experiments

Hand Shake
Image Source
We have developed software programs that helped us to design and deploy artificial intelligence. It allows humans to communicate and assign specific tasks to machines. In this magical field, humans have already created many things that are phenomenal and human friendly. For example, Siri listens to your voice, understands your command and gives you the result. Self-driving cars has been created, which is simply an amazing invention. All this inventions were possible because of artificial intelligence. I am very sure that there will be many more inventions of artificial intelligence entities in the near future, which will make human life even more comfortable.

Sources:

Sunday, November 17, 2013

History of Information Security

Computers from past to present
Image source
Let me start this week’s blog topic with a basic question. When was first computer invented? You probably might know the answer from your first computer class in middle school. When I was in sixth grade, I learned that computer was invented in 1830s by Charles Babbage. This is true. First mechanical computer was indeed conceptualized and designed by Charles Babbage. During his era, computer hardware was very large machine that required a space of a big room. Computer networking systems never existed at that time, so information security was not as critical as it is today.
Information Security
Image source

The issue of information security came in existence when computer networking systems were introduced in 1960s. Because of security weaknesses, computer data was unprotected and passwords were fairly easy to crack to steal important information. Security issue became even more crucial when there was an increase use of personal computer during 1980s. People started using personal computers at work and at home; therefore, it was important to protect data of each individual and company. There have been many documented cases related to networking crime in the past. For example, one of the cases involved a UCLA student who hacked into Defense Department international communications system through his personal computer in 1983. This is reason why companies like McAfee, Symantec, Netscape and many more came into existence around 1990s. This information security companies has answered to security issues very well. They developed intrusion prevention system, intrusion detection systems, filters and many other solutions to address different security issues.  


Even today, there are some unsolved security issues in computer networking system. I am very sure that current information security industries will find new ways to solve and reduce these security issues from networking system. 

Sunday, November 10, 2013

File Sharing Security

File Sharing Tools
Image Source
Wouldn't it be wonderful if our files are smart enough to protect our information from unauthorized users? Unfortunately, files aren't that smart. They have no control over accessing information to any random users. Sometime files are shared with the wrong recipients and it can cause a lot of problems. Last year, you might have read that small numbers of user’s Dropbox account were hacked. Well, Dropbox is not the only file sharing service that is hacked. There have been many other services such as iCloud, evernote,  were hacked at some point in the past. This raises a major concern about security issues for sharing important files on cloud.

File Sharing Security
Image Source
So what types of security issues are generated in file sharing technology? Well, there could be many types of security issues. For example, one of the common issues is installing malicious code to your computer. When you download a file from cloud-based services, it is almost impossible to verify if the file is trustworthy or not. This file could be sent to you by cyber criminals to transmit malicious code to your computer. Unknowingly, you may be giving unauthorized users access to your personal information by downloading that file. Once your information is exposed to unauthorized user, it is hard to tell how many other people have accessed your information. If a user decides to download or upload files to reliable cloud-based services, then there should proper tools to monitor this activity.  

I am not denying the fact that the file sharing technology has benefited many businesses and education systems. Through this blog post, I wanted to point out the other side of file sharing technology. Many security issues have been resolved in the past and I am very sure that other security issues will be solved quickly by cloud-based services.

Sources:

Sunday, November 3, 2013

Why learn data structures?

Data Structures
Image Source
Knowingly or unknowingly, we store many things in our daily routine life. For example, think about books, clothes, kitchen utensils, food and many other small things. We store books in bookshelves, clothes in closets, kitchen utensils in kitchen cabinets and food in plastic bags or containers. For all different things, we have different items which help to store those things. But have you ever wondered how does Google store their data? How Google manages to narrow down the best results from millions of other results? Well, the answer is quite simple - through data structures. In computer science, data structures are methods of storing data in computers so that it can be found and retrieved quickly when needed. In any programming language, data structures are implemented using references, data types and operations on them. Some of the most common and important data structures are as follows:
Image of different data structures
Image Source

- Array
- Linked Lists
- Trees
- Stacks
- Queues
- Graphs
These data structures are solution to organize data efficiently in computers. Without sufficient knowledge of data structures, it is often easy to think of solutions in terms of data structures which are provided by programming language libraries. For example, if you were a Java programmer, then you would think of java.util for solutions. But it does not help every time. Imagine if you were writing a basic program with “auto-correct” feature, where a user types something incorrectly and your program corrects user error automatically. Well, the knowledge of data structures provided by libraries does not help much, but knowledge of a simple tree would help you here.

Overall, I believe that it is important to learn data structures because it is a skill which can be useful to understand and conclude an algorithm for a problem. It is helpful to analyze the difficulty of any problem and know which algorithm works best to solve that problem.

Sources: