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.

Monday, February 18, 2008

3.4 Bullet Points

1. I think that the assistant chief was worried that the mural would stir controversy that the department would rather not deal with. Religion and anything affiliated with it tends to do that. The main factor that probably motivated his decision was that the department is in charge of security and the mural is a risk factor for vandalism, protest, and other possible unnecessary time sinks for the department.

Ideally, i think that the people affected should have tried to set a second meeting with the assistant chief of police and maybe the department itself before letting the assistant chief leave. This way, the assistant chief doesn't leave thinking that he had it his way only to be confronted later with something different. Also, confronting him then and there wouldn't be ideal as both sides weren't prepared for a confrontation yet.

2. "I" separates itself from the "We" due to the nature of individuality. The individual has their own set of beliefs, motivations, abilities, and other attributes and qualities that can be called his or her own. What brings "I" and "We" together is when multiple individuals bring something positive (unique or not) to the table. "We" are actually individual "I"s working together in different ways to accomplish the same goal.

The multiple levels of "I" that i saw were the people as individuals, the students who were connected to each other VS the community they were going to help, and the artists, students, community partners, the teacher, etc VS the assistant chief's idea. The multiple levels of "we" were the educated students VS the "at-risk" artists, the people that saw the mural as a source of empowerment VS those who saw the mural as a source of controversy, and the community as a whole. In other words, the multiple levels of "I" ranged from individuals to a broad group of people with something that binds them together, and the multiple levels of "we" ranged from the same broad group of people as "I", to the entire community as a whole.

I'm on ur Intarwebz...

My understanding of positive and negative rights from Sara Baase's explanation is that positive rights are rights that society has to actively enforce and that negative rights are rights that society has to consciously not break. A simpler way of phrasing it is that positive rights involve "doing something" while negative rights involve "not doing something". The two rights can also be viewed as active and passive rights respectively, where positive rights aren't fulfilled until something is actively done to promote it while negative rights are always there until something counteracts it.

A situation where we can view the two rights with respect to digital privacy is the use of Torrents. If, say, we had a positive right to be anonymous whenever we are seeding or leeching off a Torrent, then it would be fulfilled when the law considers it illegal, the client in use actively hides your IP address from anyone who wants to view it with the use of encryption, proxies, and whatnot and Torrent clients disallowed the user from viewing those who are linked to a Torrent tracker. If the same right was a negative right, then users are not allowed by law to use IP addresses linked to the tracker to trace the identity of a user. Whether or not there are safety measures in place to prevent tracing or viewing IP addresses is irrelevant to the negative right.

As for which one would be more appropriate for digital privacy, I never choose an extreme and i think that a combination of the two is needed to ensure the best coverage of privacy. However, just between the two, I would rather have negative rights rather than positive rights. This is because there rights explicitly say what you cannot do and implies that anything else is considered fair game. When properly worded, it also appears to me that negative rights also leave less room for loop holes and grey areas as compared to positive right.



Image taken from http://stephan.com/blog/, who took if from cellfo.com

Sunday, February 10, 2008

Knowing your role

I interpret being a responsible citizen as one who helps assure that the community that they are living in continue to progress for the good of all or the majority involved. However, this is only limited to actions and decisions wherein there is an unanimous agreement or that those who aren't for it aren't necessarily opposed to it either. For example, if all of the the community agrees to ban gay marriage, then it should be banned or not recognized for that area. However, if there are those who oppose, then it is not considered progress for the community as not everyone agrees on it.

Should colleges and universities teach students about being a good citizen? I am on the side for them being allowed to do so but not mandated by the state or country to do so. This however assumes that there is a similar college nearby with the same level of education which provides the other option, which allows students the ability to choose. In the case where this situation doesn't exist, then i feel that colleges that want to teach about proper citizenship should at least give the option to students to opt out of the program.

What the, is that my ex going into my best friend's aparment?!

In Google's never-ending attempt to contain the knowledge of everything ever known and unknown to man into little metallic boxes redundantly hooked together on some shelf in their basement, they have brought us Google Street View! This feature, introduced in 2007, allows anyone to view a select amount of cities from the ground and see what it's like on the streets. You can swirl around your viewpoint using a mouse and see if that restaurant you were going to ahead of time so you don't accidentally miss it or find your friend's house if you can't remember what number his house is on a street. From the original set of cities that included San Francisco, New York, and Las Vegas, it has expanded to contain other locales such as Phoenix and Indianapolis.

This sounds all good and nice and all, but like all good things on the Internet, there's usually a drawback to it and Street View is no exception. Google was able to bring this feature by essentially driving around with a camera and taking pictures of everything, and i do mean everything.Together with the innocent shots of random pedestrians minding their own business, there are pictures of sunbathing girls, men walking out of a gentleman's bar, and one guy breaking in to a house.

The issue of privacy is obviously going to be raised in a situation like this. The important part is whether Google acknowledges it and they have. Initially, the process of getting your picture off Street View was difficult, but they eventually decided to make things easier for themselves and the consumer. Now, if you see a picture of yourself on it doing something that you wouldn't want your boss/wife/friends to see, or if you think that there's something on it that warrants removal, you could just click on "Street View" help on the top of the image and "Report inappropriate picture" at the bottom of it. It will give you a link to a page where you can explain why the picture should be removed and submit it to Google for review. I do not know how fast Google's response time on these requests are, but given Kevin Bankston's reply, it would probably take at least 5 days.

As for whether or not i feel that Google has done its part, i think that it is adequate. I hate to beat a dead horse, but i'm on the side that says that no one should need your consent to use your image when you are in public. After all, you share that space along with everyone else and that means that people will see you, it's just that now there is a possibility that millions may see you through the Internet instead of the usual hundreds that are on the street. They now also provide a way for you to remove a picture too, which should be enough to satisfy most.

Sunday, February 3, 2008

In 10 years, i'll have hair as black as Michael Jackson!

So... where do i think i'll be in 5 years...

First, i'm going to do my best to actually be able to stay here in the U.S. after I graduate by finding a job. Afterwards, maybe 2 years into it, I will apply for a Green Card and continue working to gain experience. By year 5, I could see myself being either the head of the technical side of the place I work at if it is a small company or part of a team if i am in a larger company.

In 10 years, i see myself waiting on my application for change of citizenship to be approved. In the mean time, I would have helped made the small company I worked in grow into something much bigger or making an impact along side my team in the bigger one. On the side, i'll have a couple of projects that I will be working on, possibly with some of my friends that i've made from college to this point. I expect to see a lot of sleepless nights at this point as I will also be struggling to squeeze in some sort of social interaction outside of the workplace at this point, but knowing that it will pay off in the future.

Symmetric and Asymmetric Key encryption

Symmetric-key encryption is defined by their use of secret or private keys which are shared among users to encrypt data by moving bits around and scrambling data based on the key. This method is considered very safe as a good algorithm can scramble data effectively enough that patterns and frequency are obfuscated enough that they would have to theoretically use brute force and try out all possible combinations of keys before finding the correct one. The attacker also runs the risk of finding a key that would produce an output that may seem correct but really isn't.

Asymmetric-key encryption is defined by the use of public and private keys to keep data secure by using both keys with a set algorithm such as AES. The Public key is just that, public where everyone can see it, which allows them to encrypt data and send it to another user. The user on the receiving end of the data will then decrypt the data using their private key, which theoretically they should keep private so that no one else can decrypt the message. The data is encrypted with the idea of one way functions such as modular arithmetic wherein there is no clear way to go backwards in the formula given just the result and the formula. However, if you know an extra bit of information (the private key), then going backward and decrypting the message becomes easy. The only way to compute for the key is through brute force, trying out all possible valid combinations. In this case though, the keys usually go to the square root of N amount of keys because of the nature of the key being the product of two large, usually prime, numbers.

Symmetric-key encryption confirms a user's ID by the fact that the user can encrypt and decrypt data sent between the two users. This is because it is assumed that if another user knows the secret key, then you probably gave it to them. Asymmetric-key encryption on the other hand uses a form of double encryption to confirm identities. One side encrypts the data using their private key then the receiver's public key, sends it off and the only one that can completely decrypt the data is the receiver who first uses his private key then the sender's public key.

Symmetric-key encryption is generally considered to be the safer encryption
standard because there are more keys to try out before you potentially guess the correct one. It is also faster to encrypt and decrypt symmetric-key encrypted data, which makes it ideal for transferring large files. However, it does have disadvantages though, such as the problem of distributing the key to other people, one time transactions, and the key being revealed to the public.

Asymmetric-key encryption on the other hand has one big advantage over symmetric-key encryption. It allows for a secure first contact anyone who has a public key, making key distribution not a problem. Other than that, it also gives way to other uses such as digital cash, anonymous business transactions, and digital signature.