Translate

Friday, October 25, 2013

Hacking: how to become a Hacker


 young hacker Stock Photo - 10364856
Hacker is a slang term for a computer enthusiast, i.e., a person who enjoys learning programming languages and computer systems and can often be considered an expert on the subject(s).
I often ask myself one question: How do I become a Hacker? After looking up lots of relative materials, I have to say it is a hard question to answer.


Eric Raymond, compiler of The New Hacker's Dictionary, lists five possible characteristics that qualify one as a hacker: enjoying learning programming language or system, enjoying doing the programming, appreciating someone else's hacking, picking up programming quickly, or expert in a particular programming language like "UNIX hacker".
According my experience, Hacker has to have the following 4 basic characteristics.

Super programming ability is the first one. To master programming, firstly, you must have learning objectives. The second step is to make a study plan. Having a right attitude is third step. Finally, Hacker has a strong self-learning ability.

Enjoying solving programming problems is the second one. This feature is the motivation and main reason to be a hacker.

The third one is enjoying high prestige among programmers. Hacker is kind of title from other programmers. There are many ways to build your prestige. You can write open source codes, debug open source codes and maintain some websites where other Hackers often browse.

The last one is to obey and maintain hacker culture. The hacker culture doesn't have leaders, exactly, but it does have culture heroes and tribal elders and historians and spokespeople. Freedom is one prominent feature of hacker culture. Finally, Hacker has a strong self-learning ability.
Before I end my article, I have to remind you: Be a Hacker not Cracker. Cracker is someone who attempts to crack someone else's system or otherwise uses programming or expert knowledge to act maliciously. If you want to know more about Cracker, you can browse website: http://www.techrepublic.com/blog/security/hacker-vs-cracker/1400













Sunday, October 13, 2013

Open source: free and unstable

Have you heard open-source software? Open-source software (OSS) is computer software with its source code made available and licensed with a license in which the copyright holder provides the rights to study, change and distribute the software to anyone and for any purpose(Wikipedia). The first open source software I used is Firefox. Later, some other open-source software as Latex, Linux and Eclipse are becoming my daily tools. In this post, I'd like to talk with you about their cost and stability.

So far, all OSS that I know are free. Lets have a look at the advantage via an example. It is well known that Windows Operating System is expensive. Compare with it, Linux is completely free. Maybe the price of operating system is not a big deal for working people. However, it is a question that students are thinking about. In some developing Countries like China, students like buying the computers with Linux rather than Windows. One of the most important reasons is that the computers with Linux are much cheaper than those with Windows.

The key feature of the open-source software is open source codes. Some people believe that open-source software have better security than closed source software since millions of eyes looking at and maintaining the software. I don't think so. All software engineers can access the source codes and change them including attackers. It is said that lots of funds are used to attack the open-source software. And, simply making source code available does not guarantee review. Marcus Ranum--an expert on security system design and implementation--released his first firewar toolkit, at one point in time, there were over 2000 sites using his toolkit, but only 10 people give him any feedback or patches.(The example comes from Wikipedia)

In sum, you don't need spend lots of money to buy closed source software because of free open source software. However, you have to keep eyes on its' stability. There is no rose without a thorn.



Saturday, October 5, 2013

Agile: the application of Scrum in CS department E-Zine project

Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development.(Wikipedia)
I am one of the teams who are working on CS department E-Zine project. To be honest, I don't know anything about famous Agile Software Development until joining in the project. In the post, I will simply show you the application of Scrum in this project.




First step, We  formed a self-organized team.

Second step, in the first meeting, we and client(professor) together discussed the product (it is not final product.), made 5 SPRINTS for the whole project, and figured out the MUST tasks in each SPRINT.

Third step, after one week, we used some software  tools to make a memo to our client. That means out first SPRINT was done.

Now, we are working on our second SPRINT. To finish it successfully, our team split into  5 self-organized groups. Each group was given specific task like interviewing students, faculty perspective, etc.  These small groups use all kinds of ways to devote their attention to the given task, simultaneously at the same time, all members also care and help other groups.

Any way, SCRUM  is one of the leading agile software development processes. We are using it to design, code, test and document our project. From this project, I learned about product and sprint backlogs, sprint planning and sprint review meetings, and how to conduct a sprint retrospective. 




Read more: http://geeksgrave.blogspot.com/2013/05/auto-alt-tags-for-blogger.html#ixzz2eAd5m09j