Sunday, May 4, 2008

The final blog post!

How did i feel when i first went to the St. Anthony Foundation? I've actually been there before, so it felt like the same thing. I admit that i was surprised when i found out that they had an open computer lab, maybe just as surprised when i found out that there were so many open tech labs in San Francisco. The atmosphere was inviting enough that any doubts that i may have had coming in disappeared. Yes, there are homeless people around the area, but most of them are either friendly or will leave you alone as long as you are not rude to them.

Not much has changed since then. I still think that the St. Anthony Foundation is a great organization to work with and one that i would like to support. The one big change of opinion that i had was that doing something like this service learning program was nothing more than a bother for organizations like the Foundation. From what i gathered, most of the planning that Greg, Arnie, and myself did regarding the layout of the new building and possibly the new courses to be taught in their employment aid department will have a noticeable impact on the actions of the organization in the future. This did make me feel better about going to St. Anthony, and also about the service learning program in general.

Sunday, April 27, 2008

Homework 13: Ethics

1. accounting system - I feel that it would be more beneficial for everyone to have all the tests done first before releasing it. We have gone by with paper for a long time now so even if it may be beneficial to have a new computerized accounting system, the possible screw-ups that could happen horribly outweigh the benefits.

The benefits would be that things will probably go smoother and faster.

The possible errors could include accidentally removing all of a person's bank account balance or overcharging people, which can ruin lives depending on the impact.


2. game - Games are often released these days with bugs that developers patch later on. Although it would be nice to delay a game until it was perfect, since games in general are not life-threatening or life-saving, they can choose to skip some testing and release early. However, developers who choose to polish a game to perfection tend to be looked up upon, so releasing a buggy game early may not benefit the company in the first place.

3. photo-sharing system - This is something that looks harmless at first if something goes wrong, but i feel that it should be tested thoroughly and delay the release if needed.

Sure, lives are not directly put into harms way if, say, someone's photo was accidentally shared to everyone on the web instead of just to a select few, then they might not be able to get a job if the photo was something incriminating and the employer was tech-savvy enough to look up potential employees online.

Sunday, April 20, 2008

Week 12 Homework: Saint Anthony

1. What is the organization, and where are they located?

The St. Anthony Foundation is a Non-profit organization started by Franciscan Friar Alfred Boeddeker. They started with a Dinning Room that served free meals and since then have expanded their services which include providing necessary essentials such as food and housing, rehabilitation for several issues, and restoring human dignity.

The St. Anthony Foundation's current main building is located on 121 Golden Gate Avenue, San Francisco, CA 94102.

2. What population do they serve?

They generally serve the residents of the Tenderloin, which is composed of:
  1. Recent Immigrants
  2. War veterans
  3. Mentally/Physically Ill
  4. People on substance abuse
  5. Economically challenged

3. How big is the organization?

The organization is generally concentrated in the San Francisco area and gets nearly 8,000 volunteers annually.

4. How long have they been in existence?

Friar Alfred Boeddeker opened the Dinning Room on October 4, 1950. Using that date, the St. Anthony Foundation has been around for nearly 58 years.

5. Are they a local organization, national, or international?

They are a local organization that operates in San Francisco. However, they do run a farm in Sonoma County which serves as an environment for rehabilitation.

6. What is their mission?

In the spirit of the Gospel, inspired by the joy and compassion of Francis and Clare of Assisi, in solidarity with all who hunger and thirst for justice and peace, and together with those we serve our mission is to feed, heal, shelter, clothe, lift the spirits of those in need, and create a society in which all persons flourish.

- The St. Anthony Foundation Statement of Values where they derived their mission from

In summary, their mission is to not only give economical, material, and psychological assistance to those in need, but to eliminate the root of poverty and injustice which forces people into their situation.

7. What are you doing with them this semester?

Greg, Arnie, and I work with St. Anthony's in several different that they are having. The constant thing that we do is that we help maintain the computers that they are running at the moment. We have also assisted them in designing part of their new building, specifically a tech lab, a class room, and a computer room. We also went to Experian with them and assisted with salvaging several parts that Experian were donating that St. Anthony could use. Finally, we are currently working with them to try and create a program that will serve as a pre-A+ certification course that will go hand-in-hand with San Francisco State's A+ certification training course.

Sunday, April 13, 2008

Phailiure

Baase 8.26
There is not enough information to determine who is responsible for the error.

Technician - Did the program say (outright or implied) that it will use the number in the field for division? Was the technician tired because or alert due to prior activities? Was the technician hired qualified to operate the program in the first place?

Programmer - Did the programmer know that his code will be used in this situation? Was the code taken from another program that was meant to do something else? Was the programmer given enough time to debug his code?

Buyer of the software - Did the buyer have the resources to purchase quality software? How about time to do some research about the software itself and its alternatives?

Software company - Did the company give the programmers the time and resources to debug the software? Were the program specifications for the software repeatedly changed throughout development?

Captain of the ship - Did he make sure that he hired a good technician? Was he overworking his crew (causing the technician to be tired and careless)? Did he inspect all of the ship (either directly or by commanding qualified personnel to do so) before launching the ship?

Cress
Unfortunately, i haven't encountered any real difficulty yet at St. Anthony's yet that i can apply the D-U-E process on. Instead, i'll use another experience i had in another organization where i did something similar to the D-U-E process.

Situation: A person in an important position which affected several members in my organization was severely slacking on his duties. This caused several people affected to dislike him and in turn caused most of the organization to question his character and abilities. I was not actually affected by his irresponsibility, but people i knew were.

I asked around to determine what exactly people were accusing him of. After i had a rough idea on what he was doing (or not doing), i tried to understand why he was acting the way he was. Since i have known him for a good amount of time, i recalled that he acted the same way a few years ago and determined the cause of his actions now as the two situations were very similar (if not exactly the same). Finally, i talked to him about it and suggested that he should accept that he was being irresponsible, shape up, and admit his mistake to the ones affected. For the others, i tried talking to some of them, explaining why he acted the way he did, and suggested that they should talk to him about their problems instead of just getting mad at him.

Thursday, April 10, 2008

How legal media providers make money

1. Amazon sells music through its website by allowing users to download the music file onto their computer after paying a set price per song. Fairly straight forward, they earn money by charging consumers per song that they download. After downloading the file, Amazon places no special restrictions on the file itself, which allows users to do anything they want with the data after they receive it.

2. Pandora allows their users to listen to music using their online flash player and cellphone player. The player itself streams the music off their website and is not completely kept on the user's computer, which keeps the user from completely keeping a copy of the song for themselves. Their profit model is selling ads and partnering with Amazon and the iTunes music store to sell music that the user has 'tagged' while listening to them.

The restriction that Pandora places on their users is that they cannot choose which specific song to listen to, and that they don't get to keep the song after they have heard it

3. The iTunes Store allows users to purchase music through their service. Their profit scheme is to charge users per song downloaded, and the pricing varies depending on what kind of song you choose to download.

The music downloaded from the iTunes store has certain limits, depending on which kind you purchase. The regular-price songs have DRM in them, which allows them to be played only by anything that Apple approves of such as iTunes and their iPod line of products. The DRM-free version of songs come at an increased cost, but they do not have restrictions on them.

Sunday, March 16, 2008

On the cathedral and the bazaar

Eric Raymond's piece "The Cathedral and the Bazaar" compares the way code is written to how a cathedral and a bazaar would hold events. A cathedral would be run by a select group of monks and their wishes are what is followed in the cathedral while a bazaar is a congregation of several people and ideas which together form one bazaar. Likewise, a program written in a cathedral-style environment are usually closed-source software where the company decides what features it will have, though open-source software such as the Version Control of Emacs was also written in this environment. The most well known programs that were written in a bazaar-like setting are Linux and Firefox, where users acted as co-developers and submitted bug reports and fixes and contribute to the growth of the program by suggesting new features or improvements.

Raymond spoke of several key points that he thinks should be followed to lead a successful bazaar -style project. Summed up, a bazaar-style project requires a base program written by a competent and outspoken coder who is open to new ideas and skilled with managing people that shows enough promise that the community feels that it has enough potential to merit their attention and give their time and effort to help build and debug alongside the original author. There were other points also stated, such as the concept of releasing code fast and often and assuming that code will become more robust as users continuously use it, find bugs, and fix them.

I feel that Raymond had a fairly accurate description of the cathedral and bazaar styles of programming. It is true that cathedral-styled projects are constrained by the creators of it and also tend to release updated versions of software slower, but often more stable that their open-source counterparts. On the other hand, bazaar-style projects tend to have a lot of input from varied sources, which does increase the amount of code being written for it, which in turn may lead to faster bug fixes and updated releases, at the cost of possibly buggier software initially. I disagree with his opinion though that cathedral-style development will eventually lose to bazaar-style development because of the nature of evolution, as i feel that the main advantage that most cathedral-style projects (closed-source programs in general), which is funding, tends to give them a huge edge.

As for what kind of project should be developed in which style, i feel that "essential for productivity" software should use a cathedral-style development and "nice to have" luxury software should use the bazaar-style. This is because i feel that closed-source software (which are mostly cathedral-style) usually tries to fulfill a specific non-essential market that the majority of computer owners are not interested in, which means that a bazaar-style project of the same product will suffer from issues such as lack of funding, lack of interest, lack of decisiveness as to what should and shouldn't be in the program (since the program is non-essential, there may not be one "best" way of going about doing things). For example, pen-source games are usually horrible, as they have to take into account what kind of game they will make, what should be the setting of it, etc, and since opinions weight more on non-essential software, this slows down development time. On the flipside, i feel that bazaar-style development would be best for essential software such as drivers, operating systems, and the like. That way, you are at least somewhat assured of a user base that has a reason to care, which will lead to people helping contribute bug reports, fixes, testing, etc, to get them to work properly so that they can use it too.

Sunday, February 24, 2008

...beware my power, Green LAMPtern's light!

LAMP is an acronym that generally stands for Linux, Apache, MySQL, and PHP respectively. The meaning of each letter can be substituted though, with the last letter being the most modular. M can also stand for mod python and P has ranged from Perl to Python.

It is an acronym that represents free or open source software that can be used in conjunction with each other to have a framework for launching stable online applications at a low cost. Gnu/Linux is the most well known free operating system and very often, Apache servers will be running on a Linux machine. Apache is an HTTP web server that has been in existence for a fairly long time and has a very large market share. MySQL is a database management program that allows for relatively powerful data management that multiple users can use simultaneously. PHP is a scripting language commonly associated with the development of dynamic websites.

The reason why LAMP is an effective way of setting up web applications is that each component has been individually tested on the field for some time now and they all perform very well for their tasks. Linux and Apache are the backbone of this acronym in my opinion, as Linux provides the free operating system for the hardware to run on and Apache is the application that everything else will depend on. Both also offer features that are comparable to their non-free counterparts, Windows and the .NET framework respectively. MySQL is widely used, but swapping it for some other data management system such as PostgreSQL and Oracle is more common than swapping Linux and Apache. MySQL however provides a lot of features that made it appealing enough that information-intensive websites such as Wikipedia and Youtube uses it. PHP is arguably the most interchanged component, as some consider large PHP code as difficult to maintain and use Python or Ruby on Rails or another language as a substitute.