Monday, June 2, 2008

Assignment 4 CITP

Introduction

In recent years there has been a growing interest in open source software and open

source content development initiatives

The technology software has become a major concern of computer ethics recently. With the development of communication devices and the improved telecommunication infrastructure, the Internet emerged and has been using around the world. Therefore, the distribution of software and cooperation on the Internet are technically getting easier and faster. Open source software development in the Internet opens a new possibility for software developers which allow them to practice programming over long distances. Since software is considered as a result of intellectual labor, this new technology supports intellectual property by providing more powerful and more efficient ways to create and disseminate computer softwares. Thus, new challenges to understanding of intellectual property have been brough with the development of Open Source Software. That is distribution of software with source code which is made available for others to study and improve (Coar 2006 Source Code Definition).

OSS movement caused by a cultural attitude of oppsition to the restrictive rights under intellectual property laws in US academic. Then it was particularly opposing to firms in using the operating system UNIX developed at Bell Laboratories as commercial purposes. In 1985, Richard Stallman established the Free Software Foundation (FSF), a non-profit organisation dedicated to the development of Free Software. However, some parts of the FSF community considerd the limitation of ifselt; therefore, Open Source Initiative lead by Bruce Peren and Eric Raymond was established to promote OSS on a realistic view in 1998 (Henley and Kemp 2008 p78)

Recently, many big firms such as IBM and Sun Microsystem are strongly supporting OSS movement. For example, IBM established a Linux Technology Centre to work on developing OSS which now employs more than 600 Linux kernel developers (Charlson, 2007). Also, in 2005 Sun open sourced its operating system with the OpenSolaris project and it continues to employ hundreds of software engineers to work on OpenSolaris (OpenSolaris FAQ). Besides, a considerable number of software developers are giving freely their contribution to OSS. SourceForge.net, a repository of open source projects, lists more than 178,467 projects and more than 1 millions registered users (SourceForge). Consequently, this phenomenon gives much attention to researchers in the field.

Open source software is making a large impact on many aspects of society in the ethics in computer professionals. Since producing software is a business in which computer engineers

develop the software for the profit of the company; yet Open Source Software appears to be not. Accordingly, the question of individual‘s motivation to contribute their works in OSS community has been extensively researched. Potential explanations are the motivation to build up ones’s reputation by gainning recognition for their ability was associated with enhancing one’s career prospect (Hars and Ou 2002, Lakhani and Wolf 2005); the motivation to learn and enhance their skills (Lakhani & von Hippel, 2003,Ye and Kishida 2003). Lastly, altruism has been argued as one of the primary intrinsic incentives for OSS developers (Wu et al. 2007). However, ... It is obvious that the values ones might get out from OSS in realation to the various private benefits compesate the OSS developers for their private cost of programmings. More importantly, there are different levels of intrinsic and extrinsic motivations relevant; therefore, it is vital to understand and to evaluate these motivations.

Altruism

Altruism has been argued as the primary intrinsic motivation for OSS developers. ‘‘Altruism . . . is a natural part of human nature [and] . . . is exhibited in some manner by everyone’’ (Ozinga 1999 cited in Wu et al. 2007 p. 234). The context discussed about the altruism in the OSS community is the helping behavior of knowledgeable people who want to share what they know with the community.

Pure altruism and reciprocal altruism must also be mentioned as important motives for publishing the source code of one’s software. With its promotion of computer users’ right to use and redistribute to some extent computer programs, OSS is regareded as a social movement based on fundamental democratic principles (Richard Stallman 1999 cited in Britzer et al. 2007 p164). Apprently, OSS developers would like to help others, and also at the same time give something back to those who assisted them. Another branch of altruism of OSS developers can be seen as reciprocal altruism (Wu et al. 2007 p254). In other words, OSS paticipants who contribute freely their work into a projects have a belief that other programmers investing efforts in related problems will also make the resulting solution publicly available.

However, altruism is to some extent a motivation of OSS developers. Hars and Ou’s empirical study (2002 p6 ) suggests different levels of altruism as a motivator, showing that only 16.5% of the respondents ranked altruism as high (6 out of 7) or very high (7 out of 7), whereas peer-recognition and human capital enhancement are ranked with 43% and 88% of respondents respectively. Additionally, Lakhani and Hippel (2003 p931) observe that in providing answers to questions asked in the Apache system, there is about 2% of the knowledge providers are responsible for about 50% of the answers to questions posted on the help system and 50% of the questions are provided by 24% of the knowledge providers .This means that only few individuals are engaging in helping others. The findings from these empirical research lead to understand that software contributors are more focused on what they may gain from others in the community and may also have in mind the implications of their contribution on their career prospects (Lerner and Tirole, 2002 cited in Lakhani and Wolf 2005 p6).

Self-development

The second motivation of OSS developers is self-development through learning from others in the field, and enhancing their abilities and skills. Ye and Kishida (2003 p1) argue that the intrinsic satisfaction for developer obtained by learning in OSS community is one of the driving forces that motivate developers to get involved in OSS projects. One reason behind this is easy accessibility of source code when it becomes open for every software developers, containing the knowledge and creativity in there. It then is providing the learning resource that attracts developers to participate in the OSS community. Thus developers are able to learn from the system, from each other.

Futhermore, developers may be motivated by learning through exploring or doing new OSS project (Ye and Kishida 2003 p7). In the first form of learning, learners attempt to overcome an existing problem. For example, LarryWall created Perl a tool to automatically generate webpages because he ran into a problem he could not solve with existing tools. In learning by doing new OSS projects, developers have the oppurtunities to apply their existing knowledge by undertake practical tasks of a project, thus deepening their understanding of a certain field and improving their programming skills.

Participants also improve their programming skill through the active peer review that is prevalent in OSS projects (Raymond 1990; Wayner 2000 cited in Lakhani and Wolf 2005, p7) Improvement programming skills, an extrinsic motivation related to human capital improvement, was a close second, with 41.8% participants saying it was an important motivator (Lakhani and Wolf 2005, p 12). Linus Torvards started Linux partially because he wanted to learn more about the architecture of Intel 386, so he develops an operating system for it.

In addition, most developers who start an OSS project are obviously master programmers; therefore, their systems could be the examples of excellent programming practice. The skill and knowledge embedded in those systems are legitimately offered to developers since they are freely distributed. It is just similar to the way that ones learn to write by reading literature, thus reading existing source code of expert programmer is a powerful way to master the programming practice.

Despite self-development plays importatnt role underlying motivations of OSS developers, this is still insufficient for explaining why OSS developers contributing their work freely and making the programming publicly available and for free. Accordingly, there must be other factors explaining the OSS phenomenon.

Gaining Reputation

One of the main motivations of OSS developers is gaining reputation within the OSS community. This motivation involves developers’s desire to establish their reputation and to gain recoginized for their ability. A number of researchers have argued that gaining a reputation within a OSS community is an important incentive for developers (Lerner and Tirole, 2002; cited in Bitzer et al. 2007 p.161). Furthermore, building up reputation through OSS appears to be an instrument in enhancing developers’s career prospect since they might have the oppurtunities to demonstrate their capability and skillfulness in programming

OSS developers establish their reputation by obtaining recognition from their peers. Raymond (1999, p 384), a very experienced participant in open source projects, describes in his paper that open source software development style allow its programmers to receive constructive feedback about the quality of their contribution. Through the process of receiving opinions from users on their

products the developers are able to notice that how their works are appreciated. This might encourage the authors spending additional effort to improve their code.

Similarly, Lakhani and von Hippel (2003) present results from case studies at Apache, the most popular web sever software on the Internet. As Apache is a relatively complex software program, a field support system is created to assist user having difficulties with the program. Books, online journal, and an online collection of answers to frequenly asked questions are sources of technical help for Apache users in addtion to Usenet help forum. The possibility of gaining reputation and related benefits through helping users is considerable because the identity of providers can be preserved through their e-mail addresses or user names to the answers they post( Lakhani and von Hippel, 2003 p.937 ).

Since the reputation of OSS developers has been built strongly within the community, this will become an effective way to advertise one’s skillfulness and capabilities. Hars and Ou (2002, p4)

argue that the achievement in open source project can provide participants a higher marketability than others to the commercial software employers in the competence of IT industry. This argument of self-marketing appears to be fitted to the most managers’s recuitment of software developers. With the wide range in programming skills, it is obvious that vendors will recognize

the value of the individuals who have a record of producing succesful software. This suggests that the IT firms’ role, along with the presence of paid participants, is increasingly important by providing resources for the OSS communities (Lakhani and Wolf, 2005 p17).

These evidences indicate that the perception that participation enhances one's professional reputation is a significant predictor of individual motivation. They are also consistent with prior research, providing additional evidence that building reputation is a strong motivator for OSS developers. These researches also provide weak evidence that OSS developers who enjoy helping others provide more helpful advice. One potential explanation for the weak influence of intrinsic motivations may be due the monetary rewards having influence on OSS developers.

Wednesday, May 21, 2008

Websystem Tut8

Week 9 tut

  1. On a linux machine run ifconfig and observe the output. How can you restrict the output to just one interface?

  1. There is a command line tool that can be used to retrieve a particular web page. What is it and test that it works by retrieving the page start.it.uts.edu.au

wget

  1. Some of the common ports used by various protocols have been discussed in the lecture. Find what ports the following are used on: Display Support Protocol, Quote of the Day, Trivial File Transfer, Network Time Protocol, NetBios Name Service
 
 
 
 
Command : netstat –anpe (in linux)??????
 
 
 
 
dsp              33/tcp    Display Support Protocol
dsp              33/udp    Display Support Protocol
qotd             17/tcp    Quote of the Day
qotd             17/udp    Quote of the Day
tftp             69/tcp    Trivial File Transfer
tftp             69/udp    Trivial File Transfer
ntp             123/tcp    Network Time Protocol
ntp             123/udp    Network Time Protocol
netbios-ns      137/tcp    NETBIOS Name Service    
netbios-ns      137/udp    NETBIOS Name Service    
netbios-dgm     138/tcp    NETBIOS Datagram Service
netbios-dgm     138/udp    NETBIOS Datagram Service
netbios-ssn     139/tcp    NETBIOS Session Service
netbios-ssn     139/udp    NETBIOS Session Service
 
 
User Datagram Protocol (UDP) is one of the core protocols of the Internet protocol suite. Using UDP, programs on networked computers can send short messages sometimes known as datagrams (using Datagram Sockets) to one another. UDP is sometimes called the Universal Datagram Protocol. The protocol was designed by David P. Reed in 1980.
 
The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite. TCP provides reliable, in-order delivery of a stream of bytes, making it suitable for applications like file transfer and e-mail. It is so important in the Internet protocol suite that sometimes the entire suite is referred to as "the TCP/IP protocol suite." TCP is the transport protocol that manages the individual conversations between web servers and web clients. TCP divides the HTTP messages into smaller pieces, called segments, to be sent to the destination client. It is also responsible for controlling the size and rate at which messages are exchanged between the server and the client.

  1. Before non text files can be sent over email they need to be encoded. There is a program on charlie that can do this (note: it is not on the linux machines in the labs). Pick a non text file and use this program to encode it (you may want to use redirection to save the output to a file). View and compare the contents of the original and encoded files.

MIME - Multi-purpose Internet Mail Extensions

  1. What is one of the main advantages of using SSH over other protocols such as ftp and telnet?

More secure because users information is encrypted when its sent over the Internet.

Thursday, May 15, 2008

Cisco Sales Work Opportunities

isco Sales Work Opportunities

Posted by elaine on 2008-05-12 10:01:48.847891 [Current Until: 2008-05-30 00:00:00]
Can you please request your high potential students/candidates who have or going to achieve CCNA and CCNP certifications during their school graduation, to email me their resume at zafkhan@cisco.com ? I will call them to conduct their interviews. I appreciate your help and support. Regards Zafar P.S : The job require both CCNA and CCNP certifications. The person should have passion to work in Sales organization.

Cisco Sales Associate Program (CSAP) ,in case you are not, it is graduate hiring program in which we hire college graduates with four years of engineering or computer science degree as Associates Systems Engineers (ASE), provide them extensive training and guarantee them a job a Systems Engineer (SE) in Cisco Sales organization in their country of citizenship after they graduate from the program successfully. During the CSAP program they are paid in full as Cisco employees with full benefits while they are being trained. Details of program are listed under (click on Associates Sales Engineer) http://www.cisco.com/go/sap Today the program is one year in duration and we provide CCNA and CCNP training in-house.We are planning to reduce the program duration if we can hire college graduates having CCNA and CCNP certification while they were completing their degrees. During hiring , I will look for followings attributes in candidates - Passion to work in Sales as Systems Engineer - 4 year college degree in engineering or sciences - Willing to relocate to Amsterdam or USA for the duration of program (6 to 12 months) and going to back to home country for job after graduating from CSAP program. - Leadership skills, a team player and have good communication skills. If your college/university produce CCNP certified people and they have 4 years degree , I will willing to partner with you to hire them into Cisco. Every year , I hire about 225 graduates from all over the world.

Chap 6 - Linuxgym

2)List cut
Create a file called "names.txt" containing only the first column of

/usr/local/linuxgym-data/census/femalenames.txt

in its existing order. Ensure that there are no other changes to the data.

A :

cat table.csv | cut -f1 -d,


6)Grep and regular expressions
Create a file called "natmat.txt" containing, IN THE ORIGINAL ORDER, only the lines of

/usr/local/linuxgym-data/census/femalenames.txt

starting with the string 'NAT' or 'MAT'. Ensure there is no extra white space in the file "natmat.txt".

Q:
egrep '^NAT|^MAT' /usr/local/linuxgym-data/census/femalenames.txt > natmat.txt

7)Name frequency
Create a bash script called namefreq.sh which takes one argument - a name. The output should be the FREQUENCY of that name's use, which is the entry in the second column of /usr/local/linuxgym-data/census/femalenames.txt

For example

./namefreq.sh ANA

will return

0.120

and nothing else.

Q :

#!/bin/bash

grep -w $1 ./table.csv | cut -f2 -d,

Single file word detection
Write a bash script called gender.sh which takes one argument - a name. The script should print "female" if the word appears in the file /usr/local/linuxgym-data/census/femalenames.txt, and "male" otherwise.

Hint: Redirect grep's stdout so it doesn't get printed, or use the grep "quiet" option.

A:

#!/bin/bash

grep -q $1 ./table.csv

if [ $? = 0 ]
then
echo female
else
echo male
fi

Tuesday, May 13, 2008

Rich Picture

http://openlearn.open.ac.uk/mod/resource/view.php?id=257790

Part 2: 3 Representing your experience of complexity

3.2 Complexity and rich pictures

This section is mostly concerned with thinking about your rich picture and the complex situation it depicts.

There are lots of ways of drawing a good rich picture and very few ways of drawing bad rich pictures. So my next strategy in supporting your learning, and your experience of this complex situation, is to propose a number of checks you might use to ensure you have not fallen into the trap of the less-effective rich picture.

Although my discussion will focus on rich pictures, I am also talking about the complexity the rich picture represents. I am using the task of generating a useful rich picture to illustrate the process of experiencing and capturing complexity.

Trap 1: representing the problem and not the situation

This trap is one of the most fundamental mistakes you can make in systems thinking. There are lots of metaphorical phrases in English that can entice you into the trap. We can talk about ‘the nub of the problem’, ‘the key issue’, ‘the basic problem’, ‘the real difficulty’ and so on.

Like all traps, once it has sprung, it can be very difficult to get out. The trap seriously limits one's ability to think about the situation in its full complexity. This is precisely because, by identifying every problematic feature as stemming from one single interpretation of the problem, you limit your possible ways of dealing with the situation to those that might be answers to this single problem. You have imposed simplicity on the situation, which does not reflect the very complexity that makes it problematic.

In contrast, one of the reasons this case study seems to be complex is precisely the difficulty of identifying anything that could be described as the key issue. It seems to be a tangle of interrelated key issues.

The whole point of a rich picture is to represent all you can about the situation. To identify the problem within the picture, or to include only the elements that seem problematic, is to prune out potentially important elements of the complexity.

So, the check for avoiding this trap is to ask:

  • Does this rich picture represent the situation or is it just my interpretation of what the problem is? Does it include all the features noted as problematic?

Trap 2: the impoverished rich picture

A distinguishing feature of rich pictures that turn out to be useful seems to be they are just what they say they are, rich. If I take usefulness as the criterion, the useful rich pictures are the ones bursting with interest and activity. They don't seem to tell a single story, there are lots of stories going on simultaneously. They reveal stories you didn't consciously build into them.

How is such a rich picture to be achieved?

Use everything you find in the situation. This means incorporate everything you know about the situation. Either put things into the picture as you re-read the description; or make lists of the protagonists, the organisations, the structures, and then put them into the picture. Include people as well as the roles they inhabit.

Indicate the connections. Where the structural entities you listed above have connections and relationships between them, indicate what they are. There are all sorts of ways of doing this, especially if you ask yourself about the nature of the connection. You could use physical proximity (or distance) or representations of the nature of the connection (hearts, daggers drawn, telephones, deafness, walls of silence). Lots of people quite unconsciously use visual metaphors in their everyday language. (‘Every so often they drop a bombshell on this department.’ ‘We're swamped with memos.’ ‘We're drowning in paperwork.’) Talk to yourself about the situation and you may pick up clues about how to represent features of the situation. Arrows and lines tend to be less useful but they're not forbidden. Don't force the images, use the ones that seem to come naturally. There is no library of approved symbols.

Use all the geographical locations, if this is relevant.

Use all the processes. Include all the changes, and activities. Include impressions as well as reported facts.

Some people use computer clip-art to draw rich pictures. It rarely works in my view. Some essential quality seems to be missing. This quality might be ownership or engagement or it may be the very act of sitting at a computer keeps the activity at a rational level – it does not allow for the impressions and half-formed awareness to express themselves through the act of making marks directly on to paper.

The check for avoiding the impoverishment trap is to ask:

  • Have I included everything I know about the situation in my representation of it?

Trap 3: interpretation, structure, and analysis

If you deliberately impose an interpretation or analysis on your picture, you preclude the possibility of seeing other, potentially more interesting, features later. Remember the rich picture is a representation of the complexity. If you structure that complexity, you are no longer representing it as you experience it. You also lose the possibility of using the drawing process itself as a means of encountering the complexity in all its fullness.

The trap takes a number of forms. Beware of representing events in their chronological sequence, either explicitly or implicitly. Also, organisational structure may take over and become the structure of the whole picture. Elements of other diagram forms may creep in. (Systems maps and influence diagrams can be quite a temptation.) Watch out for the temptations you are susceptible to. Artistic abilities, if you have them, can represent their own temptations – they too can be a part of the structuring trap.

It may be inevitable that interpretations suggest themselves as you draw. Stop yourself thinking ‘this is really about …’ One way of stopping this is to jot the idea down somewhere – not on your picture – in the form of a question. Once you've written it down, the idea is much less likely to keep popping up as if it were trying to ensure you won't forget it.

So, the check for avoiding this trap is to ask:

  • Is this rich picture telling just one story or is it rich enough to suggest lots of stories about what's going on?

Trap 4: words and wordiness

I have seen some effective rich pictures with lots of words in them but they are quite rare in my experience. More often, lots of words make the rich picture less rich. Part of the later use of a rich picture might include looking for patterns. Words inhibit your ability to spot patterns.

If you do use speech bubbles, use what people say, not your interpretation, unless the bubble is about some general attitude. Examples might be ‘Aaagh!’, ‘Help!’, ‘Oops!’ – the sort of things found in comic books.

The check for avoiding this trap is to ask:

  • Do I have to do a lot of reading to see the relationships between elements in the picture?

Trap 5: the final version trap

Ironically, the biggest mistake you can make, having got this far, is to assume your picture is finished. New realisations will crop up. Add these to your picture as you appreciate more and more of the complexity.

So, the check for avoiding this trap is to ask:

  • Have I had any new insights about the complex situation since I last added something to this picture?