Isaak: User Data Privacy

Jim Isaak explains the unauthorized access of personal information of more than 87 million Facebook users to data firm Cambridge Analytica. Researchers at this data firm accomplished such a task through a personality test taken on Facebook to evaluate the user’s psychological profile. To their surprise, this research established a clear relationship between Facebook activity and their personality profile. So, Cambridge Analytica “micro-targeted” their consumers with messages to influence their political behavior, such as with “Project Alamo” under President Trump’s campaign. It wasn’t only members being affected; in fact, every website linked to Facebook allows the tracking of non-members data. Therefore, Cambridge Analytica purposefully targeted messages to the users as a way to influence their political power.

Towards the end of the article, Isaak lays out propositions for how to preserve privacy and protect data. The principles fall under four sub-categories, “public transparency,” “disclosure for users,” “control,” and “notification.” Regarding actual legislation that has been proposed, there are three current propositions in the works. The first, the Blumenthal-Markey bill, focuses on protecting the privacy, focusing on the “opt-in” aspect of consent, while the second bill, put forth by Senator Amy Klobuchar, maintains similar elements but also adds more on notification of changes. Lastly, California is pushing to further secure privacy rights for its citizens, hopefully setting a standard for how to address user privacy in the U.S., and the world, following Facebook & Cambridge Analytica’s inappropriate handling of user data.

Luis wrote the first paragraph, and Kate wrote the second.

The Secret History of Women in Coding

The New York Times article “The Secret History of Women in Coding” tells the story of how computer programming contrary to its association with masculinity today, was once in fact seen as “women’s work”. Coding was seen as secondary to the hard work of creating the hardware which is why it was casted unto women. On the job the women were extremely adept at diagnosing problems with hardware as well since they were tasked to understand it so well. Concepts such as compiling and debugging were discovered by the women who worked with the computers. In fact, it was these women who discovered that the code never really worked the first time. Through the story of Mary Allen Wilkes, who became a computer programmer after being discouraged from pursuing a career in law, the article shows how open programming used to be to neophytes. If you didn’t know how to code, you would learn on the job. Despite the sexism and the pay disparities, Wilkes described how the relationship between men and women on the job was actually quite inclusive and close-knit.

When the number of coding jobs exploded in the 50’s and 60’s women were still on the forefront of computer coding,however the year 1984 significantly changes the way computers are being utilized in science and culture at large. The invention of the personal computer meant that boys would now be favored to learn how to code for no particular reason. If a computer was often bought it was almost always put in a boys bedroom and he would then be at an advantage to learn coding himself prior to entering high school. This, in turn, also begins to switch who becomes desirable as someone who codes and leads to many of the culture identities present in large tech firms today that favor these “hardcore” coders over anyone else and seek to reproduce this type of personality. After 1984 there was a significant drop off in the amount of women majoring in computer science and actively pursuing it as a job post grad. These numbers remained on the downward trend until recently when about 26% of computer science majors are women, this too however is still grim and has a matriculation of about 3% of women represented in large industry firms such as Twitter.

The last section of the article dealt with present-day attempts to remedy the problem of exclusionary and homogenous computing. The author mentioned efforts by Carnegie-Mellon to make the computer science program more accommodating and welcoming to people with less experience, an effort which has proven very efficacious in bringing more women into computer science. The author also brought up various coding boot camps and other initiatives that have contributed to the rising interest in coding and computer science by various segments of the population. The article concludes with an interview of three young, prodigious, female coders who won a hackathon in New York City who express the same frustration with the “boys’ club” atmosphere previously discussed in the article.

Moldova’s Twitter Revolution

Today featured two readings dealing with protests in Moldova in 2009, known as the Twitter Revolution. For background, Moldova was formed following the downfall of the Soviet Union. While others countries in the eastern block experienced economic growth during subsequent years, Moldova’s development stalled, and the country returned to Communism in 2001. Many moved to other parts of Europe for work, but with global financial crisis, many overseas job disappeared. Moreover, the EU has limited residents of Moldova’s access to other countries.

The impetus for these revolts was general elections in April 2009; exit poll were competitive, with about 35% each between the Communists and the other party. However, the election commission stated that the Communists got about half of the vote and people grew angry and skeptical of impartiality. More than 900,000 people gathered publicly and protested against the government for a few days, but the protest was finally suppressed. Social media was the main force behind organization. It served as a vehicle to garner support from the masses and inspire rebellion against the current government. Because its use was relatively unregulated, Twitter was the perfect venue; those opposed could speak out and share their sentiments publicly through hashtags in a way that would allow them to create a digital following.

After the April 5th election results and subsequent protests in Moldova’s capital, Chișinău, the PCRN government used water cannons to disperse the crowds. In the following days, hundreds of protesters, journalists, and students were arrested. Torture and police micconduct including three deaths were documented. Internet access in Chișinău was also shut off. The articles left us with multiple ethical questions, depending on which actor we focused on. Is it ethical for the government to shut down internet access during a protest? Was violent protest the most ethical reaction from the opposition groups? What is Twitter’s responsibility as a company when its platform is used in this kind of situation? 

The events in Moldova demonstrate the role of social media in a democracy and raise questions about government’s right to control the internet as well as the companies responsibility to those citizenries.

 

 

 

 

 

 

Many approaches to ethics

In class on Monday, we found many ways to approach ethics and very little consensus. Each of the three main areas of ethical reasoning seem to disagree with each other, and within each area each approach has something different to say. I was struck by the sheer number of ways to be ethical in any given situation. In one small group, we talked about utilitarianism, attempting to apply it to the case study Caleb Thompson shares. The most good for the most people seems straightforward initially, but in practice it presents difficult questions.

Who counts as the ‘people’? Do we factor in that Caleb felt guilty about his work as causing harm? How do we measure good? If Caleb had quit his job, wouldn’t someone else just have taken it and created the same result? Through the singular lens of utilitarianism, we came up with justifications for most of the possible actions he could take. If there is that much divergence within a single ethical framework, imagine how many perspectives there are when opening up to other consequentialist approaches then adding all approaches.

Maybe this multitude of views mirrors how we make ethical decisions. Personally, I can think of a time I used almost every framework to make some decision. Sometimes it seems very likely I can control the impact of my actions, so a consequentialist approach seems appropriate. Other times ambiguity about the consequences leads me to rely on general principles. Other times, especially in new or unfamiliar situations, I feel compelled to look to others who may be more experienced as role models. Each of the theories offers a unique perspective and seems to apply better to certain situations.

On Our First Ethics in Computing Discussion

In the readings I was really impressed by the fact that people had come up with guidelines for ethical decision making, but when I think about it, it really makes sense to have done so.  I wonder how they come to a decision about what frameworks are most useful in different situation between consequentialist, non-consequentialist, and agent-centered.  Perhaps, it would be in sort of a whichever makes the best case for itself in any given situation.  

In reading the ACM Code of Ethics my group saw the consequentialist approach show up as a sort of prompt for programmers to think about the possible effects their work might have on society should it be integrated universally.  As stated in class, the code itself and the expectation that it be followed by anyone who wants to meet the standards of being a good computing professional is representative of the non-consequentialist approach to ethics.  The agent-centered approach appeared as well in the way they headed off the sections of the code of ethics with the phrase “a computing professional should” thereby creating the image of the ideal virtuous computing professional who any aspiring computing professional should seek to mirror.

I believe it was touched on in class that a lot of the directives within the code are dependent on words that don’t explicitly lay out any particular behaviors, such as the word “respectfully”.  I imagine then, that if there is possible misinterpretation on the part of an individual in regards to whether or not their behaviors are justified according to the standards of the code, there would have to be some debate as to whether or not it qualifies as a violation and to what to degree.  All around, I’m starting to get a clearer picture of why ethics boards are necessary beyond of course, the obvious job of maintaining the standard, and moving more into the more nuanced job of creating the standard and evaluating its limits.

Some Thoughts Regarding 4/8

This discussion made me start reflecting on how I and others look at things. I feel that people often default to thinking of things from a consequentialist point of view. Perhaps this is because the result is a central focus for many. And despite our comments regarding the egoist approach and its opinion that “self-interest is a prerequisite to self-respect and respect for others,” I find that I see this approach expressed a lot by people both in and out of Grinnell.

I also got to thinking about the duty-based approach; for example, I got to thinking about how it can be applied outside an actual set of rules. In my “Theories of Culture” course, I took last semester, we spoke about the idea of “social fact,” which was postulated by Émile Durkheim. While this may on the one hand seem not to fall under the duty-based approach, I believe that some of these cultural norms can so heavily influence the individual without a directly written declaration, and many of these can be unethical.

Regarding “Don’t Get Distracted, I find it interesting that the author of, Caleb Thompson, stayed at his job despite the experience they refer to in the story. I felt that the story’s ending led me to believe that Thompson had quit their job.

At the end of class, Professor Rodrigues brought up the question of whether or not Thompson’s ability to tell this story is somewhat dampened by the fact that they completed their job at the DOD. While I acknowledge that, as Professor Rodrigues mentioned in class, first jobs can be tough and one may do things they didn’t expect to, I wonder if the author had included a bit about finishing their posting; perhaps, then, readers might not feel so disillusioned.

Data search: linear and binary search

During the last week, our class discussed more foundational and abstract algorithms in the perspective of the computer. First, we talked about two different means of searching, linear search, and binary search. They were different in the way of searching the target data and this led to higher or lower efficiency in certain situations. The linear search conducted a sequential search starting from the first data of the range. This mean of searching was very straightforward and take more time than other methods but it was advantageous when the data were not sorted. In contrast, the binary search had a specific algorithm which allowed shorter trials until reaching to the target data. The only shortcoming of it was that it cannot be conducted if the user doesn’t know how the data is sorted.

I could better understand the application of these methods after the Huffman encoding tree. It was interesting to see during the lab that the most frequent letter appears near the top of the tree where the depth is not large. This allowed the data to be compressed as much as possible.

Overall, these discussions and materials were about a very small segment of data search, which includes farther accuracy, memory, and re-usability, other than just efficiency. This approach was coherent to what one of the readings said in the class. In order to develop a human familiar software and applications, understanding the foundational algorithm of how the computer inherently works should be prioritized.

Blog Post 3 (2/27/19)-Gabriel Garcia

Within Python, the program’s main function is its the ability towards identification and commands. The Python file, in layman’s terms, has two main parts, the coding identification, and the running program.

WIthin the coding and identification of the Python file, one must be clear and follow the necessary rules of code so that the system may be able to identify the commands instructed by the written program. In order for the program module to work, the student has to clarify what is to be included in their module, such as if they’re writing a sentence, they must identify the different sections as placeholders for what is to be written in by the computer’s command. Second, a student must identify what is to be inserted for these actions, whether a specific word or number, this is necessary for the program to work.

Finally, the student must then run the module and utilize the actions originally programmed within the first part, which allows for the program to run effieicently if all is done right.

Pushing Coding Education

The recent push for education in coding/programming in recent years is what struck me most about the reading. This struck me the most because of my lack of exposure to anything computer science related until high school. I did not notice any coding camps, school programs or anything else geared toward computer science until AP Computer Science, offered my senior year. Even then, the class was the first one ever taught at my high school. Even the professor was unfamiliar with the material.

Therefore, I had trouble situating the push for coding/programming. My time in high school definitely saw the advent of preoccupation with STEM, but computer science was oddly left out. Reading this article made me wonder why my school district did not push coding as much as other schools apparently do. This reflection did not really come to fruition, but it was an interesting thought.

The other aspect of our discussion that piqued my interest was the semantic difference and the different connotations of ‘coding’ versus ‘programming’. One thing apparent to me from the discussion was the hasty effort to teach people to code, as opposed to how to program. I suppose a main reason behind this endeavor would be the relative ease by which one can learn to code. We have learned a bit of coding in this class, but many complicated aspects of computer science related to programming remain foreign to us. On the other hand, teaching someone to program probably requires more effort and time, so it is less appealing as a means of giving people marketable skills in the workplace. However, this neglect undoubtedly will inconvenience people who learn to ‘code’ languages that may become obsolete.