Sunday, October 27, 2013

Hacking: Good or Bad?

Hacking Image
Image Source
What was the first impression in your mind when you read my blog’s title? I am very sure that most of you have made negative impression, because of the word “hacking.” This is not your fault. It is normal for people to think negatively when we hear or read words, such as “hackers” or “hacking”, because of the media. These words force us to think of malicious computer users who finds to new ways to access secure information by infiltrating in computer systems. I am not denying the fact that there are hackers around this world with bad intentions, who infiltrate networks and spread computer viruses for their own benefits. We call them black hats. However, there are several other hackers with good intentions, who use their knowledge to help government or corporations create better security system and we call them white hats. In fact, they have started using words like “geek” or “guru” because of the bad reputation of word “hacker.”
White Hat vs. Black Hat
Image Source
Even when you search the word “hacker” or “hacking” on Google, it refers to black hats who access computer information illegally. However, there is another good way to define these words. We can say that hacking is a process of solving computer problems in IT industries and hackers are programmers who are expert in hacking the computer code. Lots of computer problems are fixed, because of hacking. Hackers can imagine new ways of using computers. They can create computer programs that no one can imagine. In fact, they can change the whole computer industry by creating new applications or completely new operating systems. In this sense, famous people such as Linus Torvalds, Bill Gates and Steve Wozniak were all hackers. They imagined a completely different world of computer technology and were successful in changing their imagination to reality.

Whether it is to learn, create applications, help someone or for personal profits, hacking will continue to happen in the future. It all boils down to what we think of hacking.

Source:


Sunday, October 13, 2013

Why Open Source Software?

Open Source Software
Image Source
Have you ever imagined a world where technology is restricted to only those people who are willing to pay for closed source products? It would severely affect people’s education and many researches. It would also be hard to share information with other people. Fortunately, we don’t live in such world. Today, we have many open source software products which lead us to new technologies. They are easily available to everyone and they are cost-effective. They bring benefits to our society by giving opportunities to people to use and understand the open source software.
Open source and closed source software products
Image Source

So what make open source software products different from closed software products? Well, they are not in terms of programming language or operating systems, but by the license that governs the use of open source software products. That is the reason why most of the open source software products are licensed under general public license (GPL). We can look and/or modify the source code from its original design, free of charge. In my opinion, this is the best part of open source products. For example, Linux is licensed under GPL. You can look at the source code and modify the original source code. 

In my opinion, following are some key advantages of open source software products: 
  • They are considerably less expensive when compared with closed software products.
  • They are safe to use.
  • Since they are not owned by a vendor, there is no vendor lock-in.  
  • They deliver better quality. 
  • We get right to access and modify the source code.  

Overall, I believe that open source software products will bring more innovations to the future.



Sunday, October 6, 2013

Why Agile Project Management?

Agile Development Process
Image source
If you were to start a software development company, then the most important part is to satisfy customer needs. You might want to deliver high quality products faster to compete with other companies. But the question is how you can make high quality products in less time and deliver faster. Well, the answer is quite simple - through agile project management. It is becoming a new way of working in many IT companies. Agile project management takes care of customer needs. It is about managing any particular task efficiently by collaborating with all employees. To be more specific, it divides the responsibilities of any particular project among all the team members for faster results. 

Now you might be interested to know the benefits of using agile project management. There are numerous benefits, but I will focus on some key important ones. Firstly, it delivers solutions frequently. Secondly, it is very effective for software development companies because changes in the requirement of product happens quite often due to various reason. Thirdly, it assures a solution because agile project management involves more interactions with customers and more iterations to maximize feedback. Lastly, through agile project management, you can quickly produce more solutions of better quality products with very less defects and reduced risks.

In agile project management, there are various agile approaches available. However, the most popular agile approaches XP and Scrum. Below is the brief outline of XP and Scrum:

Agile approaches
Image source
XP (extreme programming): XP is more focussed on the process of software development rather than management of software project. It includes programming in pair and often integration of changes in software development.
 
Scrum: Scrum is very popular because of its simplicity. It is an easy way to start working on any particular project. Moreover, it focuses on software management where work is distributed to all team members to reach a common goal.

Overall, I believe that agile project management is becoming important when it comes to software development because it provides a flexible and controlled environment to deliver solutions.