Saturday, October 26, 2013

Good Hacker or Bad Hacker

The first time I know about hacker was when I was in mid-school. At that time, I only know some people was hacking to other people’s game and stealing their game ID. After I did a research online about hacking and I found this, hacking refers to the break the security system and modification of a program in others’ computer system. All hacker should be a clever programmer. The word hacker is used in public report to describe someone who tries to break into others’ computer systems. Normally, this kind of hacker is a professional programmer or computer engineer with enough technical knowledge can understand the points of weakness in a computer security system. A hacker can easily exploits and seeks points of weaknesses in a computer system or computer network by circuit bending. A bad hacker may bring disastrously financial crisis to any people or companies. A good hack is a clever solution solver to a programming problem.
There are five possible characteristics that qualify one as a hacker, which we paraphrase here:


•   A person enjoys learning computer system and programming.
•   A person enjoys actually doing the programming rather than just talk about it.
•   A person can picks up programming quickly.
•   A person is an expert at a particular programming language system
The conclusion is to be a good hacker, or a bad hacker, it is not only depends on his knowledge, but it is also based on that personal virtues. 


Sunday, October 13, 2013

open source: Linux

Generically, open source refers to a program in which the source code is available to the general public for use and or modification from its original design free of charge. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community. Open source sprouted in the technological community as a response to proprietary software owned by corporations. To me, the favorite open source program is Linux. There have couple reasons to define this.

First thing as a student it is low cost; I don’t need to spend time and money to obtain licenses since Linux and much of its software come with the GNU General Public License. I can start to work immediately without worrying that my software may stop working anytime because the free trial version expires. Additionally, there are large repositories from which I can freely download high quality software for almost any task I can think of.

The second is Stability; Linux doesn’t need to be rebooted periodically to maintain performance levels. It doesn’t freeze up or slow down over time due to memory leaks.

The last one is Security: Linux is one of the most secure operating systems. “Walls” and flexible file access permission systems prevent access by unwanted visitors or viruses. Linux users have to option to select and safely download software, free of charge, from online repositories containing thousands of high quality packages. No purchase transactions requiring credit card numbers or other sensitive personal information are necessary.


For my experience in this field, I have taken couple class relative to Linux Administration. Now I am trying to get red hat certification in this year. Also Mac has my favorite operation system Linux that is why I am a big fun of Mac.

Sunday, October 6, 2013

Agile

Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. I think the Agile software is good method help to solve the problem for Agile software users. Agile is good where you have well declined, motivated, well balanced team, and Agile will not workout where you have 'greedy' client and unbalanced team. According to its 12 principle, it has proved it is the future of the software career. 





1.     Customer satisfaction by rapid delivery of useful software
2.    Welcome changing requirements, even late in development
3.    Working software is delivered frequently (weeks rather than months)
4.    Working software is the principal measure of progress
5.    Sustainable development, able to maintain a constant pace
6.    Close, daily cooperation between business people and developers
7.    Face-to-face conversation is the best form of communication (co-location)
8.    Projects are built around motivated individuals, who should be trusted
9.    Continuous attention to technical excellence and good design
10. Simplicity—the art of maximizing the amount of work not done—is essential
11.  Self-organizing teams
12. Regular adaptation to changing circumstances

Also there have 10 good reasons to do Agile development: 
     1. Revenue 
     2. Speed-to-market 
     3. Quality 
     4. Visibility 
     5. Risk management 
     6. Flexibility 
     7. Cost control 
     8. Business engagement
     9. Right product 
    10.More enjoyable.