When Raymond speaks of 'cathedral' style of software development, he refers to the way cathedrals were so meticulously built by designated professionals. However, he says that Linus Torvald's style of software development is more analogous to a bazaar, in which there are many different opinions and approaches from various people.
For successful cathedral-style programming, professionals have to be found and hired for the project. However, what makes bazaar-style projects so successful is having many users. With a lot of users, Raymond says many can become co-developers. The more people who can use and access the code, the more people there are to find and fix bugs.
I agree that bazaar-style development is very successful, but as we discussed in class, it does not apply to all projects. More specialized and complex projects are better with the cathedral-style developing. For example, a small house or public space could have been built and upgraded by a group of architects and carpenters, but cathedrals really had to be built by professionals who couldn't afford to make any mistakes. Successful open-source projects are those that do not rely too much on specialized knowledge and are not so complex that a minor change can affect a major problem. For example, a text editor, compiler, or media player can be made in the open source fashion.
Those that do rely on specialized knowledge, such as high-end video games and audio/video/image editing software, are better off with the 'cathedral-style' development because development can be more easily delegated, and all parts of the software can be edited between programming groups within the company that can communicate with each other to prevent major problems.
Sunday, March 16, 2008
Sunday, February 24, 2008
LAMP
LAMP is an acronym for Linux, Apache, MySQL, and PHP. However, the P can also be used to refer to Python or Perl. It is a collection software that people execute programs on a web server and use it from their own web browser. People like to use it because it can deal with text streams well. People may also find it interesting because all components of this collection are usually free and open source.
Sunday, February 10, 2008
Educating Student to be Responsible Citizens
Educating students to be responsible citizens means that we are being taught more than just facts and logic. We are taught something that really cannot be taught in a classroom- compassion. We are taught, through a shared experience, what the condition of the world around us is. We are also taught how to evaluate this condition and what to do if it needs to be fixed. It is not just reasonable and appropriate for colleges to educate students about engaged citizenship, but it is a responsibility. Students' lives are changed in college, and it is said that the way people are in college is usually how they will be for the rest of their lives. With this said, if colleges focus solely on academics, their alumni will grow only to know how to take tests, sit still for very long periods of time, and maybe work hard. That is exactly why colleges need to teach their students about engaged citizenship, so that their alumni can grow to take responsibility, selflessly serve others for long periods of time, and work towards making their community easier to live in.
Google Street View
Upon doing some research, I found that even before releasing Google Street View, Google had privacy issues in mind. They had removed pictures of domestic violence shelters from Street View in order to protect the privacy of the women seeking help at these shelters. In addition, the women and shelters could contact Google and ask to have a certain shelter removed. At first, the image would be blocked out, then completely removed in a couple weeks. This remedy is not only available to these shelters, however. If there are any concerns on the invasion of privacy on Street View, Google can be contacted via the Street View Help button to address the privacy issues of certain photos.
I do think what Google did is adequate because they are just providing a view of what can already be seen by others, except on a more omnipresent scale. It shows what we can already see from standing outside. If a burglar doesn't want to be seen breaking into a house, he probably shouldn't do it, especially in broad daylight. Anyone on that block, not just the people on Google Street View, could have seen him. Google Street View doesn't track people's locations and activities. If they so happen to be caught in a photo on Google Street View, then it's like being caught by everyone watching from the street, except that anyone can see it online. In my opinion, if they don't want to be seen doing something, they shouldn't do it, or they should at least not do it outside.
I do think what Google did is adequate because they are just providing a view of what can already be seen by others, except on a more omnipresent scale. It shows what we can already see from standing outside. If a burglar doesn't want to be seen breaking into a house, he probably shouldn't do it, especially in broad daylight. Anyone on that block, not just the people on Google Street View, could have seen him. Google Street View doesn't track people's locations and activities. If they so happen to be caught in a photo on Google Street View, then it's like being caught by everyone watching from the street, except that anyone can see it online. In my opinion, if they don't want to be seen doing something, they shouldn't do it, or they should at least not do it outside.
Monday, February 4, 2008
Plans for the future
After graduation, I plan to work as a software developer. I'm not sure where, but I've thought of places, like Oracle and even USF. In 5 years, I will hopefully still be working there. In 10 years, however, I plan to be going into Real Estate and joining my dad in his business. To help me reach my goal of becoming a software developer, I am going through the CS program at USF to learn the skills that I need to help me as a programmer. Also, it serves as a way to show me what else I can do with a CS degree because I can't be 100% sure I'll end up as a programmer at a place like Oracle or Google. I may become more interested in the hardware end or a more administrative side. I really think there are so many more possibilities I have that I just haven't seen yet. Hopefully, I can find something I can be passionate about, so my career can be more than just work. To prepare me for joining my dad in his business, I am just trying to get some exposure to his office, the agents, and what he does. I try to ask him about what's going on with his business, so I can understand more about why certain things are done and how they're done.
Symmetric vs Asymmetric Encryption
With symmetric-key encryption, there is one key used to both encrypt and decrypt the message. On the other hand, asymmetric-key encryption uses two keys - a public key and a private key. Anyone can see the public key, but the private key is kept by the user. Symmetric key encryption is secure because it takes brute force methods to try and crack encryption. Identity can be confirmed with asymmetric key encryption by using a decrypting a given ciphertext with someone's public key. For example, I can give someone an encrypted message that can only be decrypted with my public key. This is referred to as m digital signature. Symmetric key encryption operates faster, but it poses the challenge of having to distribute a new key between each communication. This can leave the communication to fall prey to a middleman, who can intercept the message and fake the keys between the two users. Asymmetric key encryption is more secure, relying on modular arithmetic and the use of two keys, but it needs larger keys and is slower.
Friday, January 25, 2008
Subscribe to:
Posts (Atom)