Reading 14 – Computer Science 4 All

Teaching programming for all seems like a difficult problem to solve. As a computer science student, I see how programming is slowly becoming part of many fields. I often assist my friends in their programming homework. Often, I’m surprised by the large number of careers that require programming now. Recently I assisted a friend who’s major is speech therapy in creating an NLP neural network to classify Japanese words into different categories. Programming is certainly becoming a new sort of literacy.

There seem to be two problems with CS4All program. The first is finding teachers to be part of the program. The problem with the current approach is that people in charge want change now. This may be an effect of short-term leadership in the US. Mayors and presidents want to see change within their term. However, a complete overhaul of the education system requires long-term planning. The first step should happen at the top, in colleges. The first step is to include a CS program for all students at the college level. This is certainly more achievable and would only require a couple of new classes to be added at each university. The effect of this would be that in a couple years, all teachers will have some CS education. This would eventually make it possible to adopt a CS program at every school at the K-12 level. This would take some time for it to have the desired effect, but it would greatly reduce the cost of the program and make it an achievable goal.

The second problem is the claim that there is a two-hump division of people into two categories: those who can program and those who can’t. To that I’ll say that we already see something similar in school. Certainly, there are kids who can’t do well in math no matter how hard they try. This doesn’t mean that math shouldn’t be part of the core curriculum at school. Other subjects will also have students that perform better than others. Still, all benefit from a broad education.

The next issue is, how should a K-12 CS problem look like? Personally, I’m not a big fan of visual programming languages like scratch and LabVIEW. However, scratch is almost a standard now used to teach kids how to program. Some research should be done to determine whether these systems are effective. Personally, I believe a better approach would be to create a high-level language with a visual element to it. Some ideas are: a game where you pass different stages by solving a small programming exercise (with a small plot and nice visuals attached to it), teaching in a very high-level programming language where you can create simple games, or simply teaching python at a very basic level. Again, these decisions should be guided by research.

I believe having a CS educated world is possible and beneficial to all. It will take a long time and a lot of effort, but eventually we can create a more educated world.

Reading 13 – Patents

After going through the readings, I now see there’s more to patents than what is usually said about them. Originally, I thought patents were a good for society necessary to protect innovation, but I now see it’s more complicated than that. One of the problems with patents is that they prevent iterative improvements on inventions. If a company has a monopoly on an invention that is quickly adopted by society, there is little incentive to keep improving the technology. For example, if apple was the only company that was able to create smartphones, I doubt the technology would’ve had major improvements from the iPhone 1. In other words, patents may be a force that opposes the ides of capitalism. Monopoly of a technology prevents the forces of competition on the market to drive innovation.

An example given in the podcast was the airplane. The airplane was invented and patented by the Wright brothers. However, they were unable to make an actual fully functional plane. However, the patent on the technology prevented other people on perfecting the technology. Due to this, the airplane was perfected in a foreign country where the patent was not applicable.

Another argument against patents is the rising force of patent trolls. Patent trolls try to create as many patents as possible without actually implementing the patented device. Their whole business strategy involves threatening people into paying for the licenses of use and in suing those who refuse to do so. This kind of companies threaten innovation by making the world of innovation a hostile environment. You may unknowingly violate an existing patent and be targeted by one of these companies.

Due to this, I believe something has to be done about the current patent system. My ideas are not as extreme as those given by Michele Boldrin and David K. Levine in their paper The Case Against Patents. I believe a patent system is still necessary, but I believe modifications should be made. First of all, I believe a requirement should be made that in order to request a patent they should have a working product. Once an inventor has a developed project, they can request for a patent. This would prevent patent trolls from abusing the system. Having to actually develop the invention would prevent people who just come up with the concept from stopping other people from actually creating it. At the same time, patents would still create enough of a protection to inventors to fulfill their function as an incentive.

The second change I would make would be to decrease the time patents are valid for. 20 years is too long of a time, especially in an age where major breakthroughs are created every year. If apple had decided to just patent the concept of smartphones without actually creating them, we might not have the highly advanced mobile devices we do today. A more appropriate time could be 5 years. This would fall more in line with the fast developments of the era, while still providing the incentive to create to inventors.

In terms in software, the issue becomes a bit more complicated. As a student I have been taught the value of the open source movement. At the same time, there should be some protection to software developers. Videogames, for example, are simply software created for entertainment. What if someone could simply get a copy of Grand Theft Auto and started selling it for much cheaper? If there was no protection, they could do this. They have no costs that they need to offset with their earnings. With no protection whatsoever, this would be possible. At the other end of the spectrum, what if someone got protection from something essential from the coding perspective. Imagine if they someone had gotten a patent for Balanced Binary Trees, our computer science lessons would be very different. The only solution I can think of is that decisions have to be made on a case by case basis, and that in order to do so properly, patent agencies should have experts in programming to asses cases better.

Reading 12 – Self Driving Cars

The motivation behind self-driving cars is two-fold. The first is convenience. It is a lot more convenient to lay back and relax behind the wheel than driving yourself. Especially under a lot of traffic, driving can be stressful. With fully functional automated cars, one can potentially even be productive while waiting in traffic or relax and watch a movie. The second motivation is safety. A great deal of traffic accidents are caused by human error. If all humans are removed from driving, traffic accidents should significantly decrease.

The problem with self-driving cars is that they are required to make ethical decisions. The biggest one that comes up is the trolley problem, with the added element of the driver and passengers in the car. What should a self-driving do in a situation in which it has to choose whether to save the driver and passenger’s life versus saving the life of pedestrians. The opinion is very clear, but unhelpful. A group of researchers found that while most people agree that a utilitarian model where self-driving cars prioritize the life of pedestrians is the most moral one, most people would be reluctant to drive in a car with such a model. The effect of this is that this goes against the utilitarian approach itself, because by delaying the adoption of self-driving cars, we are preventing the decrease in road fatalities expected from their full deployment.

If we take this into account, it seems like the most utilitarian answer would actually be to create an AI the prioritizes the lives of the driver and passengers. The difficulty lies in the fact that people might be unwilling to accept this. There’s this pressing fear of knowing a huge chunk of metal may just run over you without a second thought. Perhaps the solution would be to convince people that even with an AI prioritizing the lives of passengers in the car, the likelihood of you being killed in a car related accident still decreases with the adoption of AI technology.

Another difficult part is the role of the government in all of this. As you can see, my opinion is that its best if the car chooses to protect drivers and passengers. Given that, I believe the role of the government would be to ease the adoption of this model. AI and cars deal best with clear cut roles. A benefit would be a reeducation of both drivers and pedestrians on how to best protect yourself from the adoption of self-driving cars. For example, a greater emphasis should be made in letting people know that they shouldn’t jaywalk. An AI car may not react well to a pedestrian coming out of nowhere. Another change should be a greater emphasis on using turn signals whenever possible: when entering a road, when switching lanes, etc. The good part of this is that as self-driving cars become more prevalent, the cars will adopt all these clear-cut rules themselves and better interact with other self-driving vehicles.

Personally, when I have the money to do so, I will invest on a self-driving car. I hate driving. It makes me anxious and nervous. Hopefully when the time comes, the technology will be more mature and more widely adopted.

Reading 11 – Artificial Intelligence

I am great admirer of artificial intelligence. AlphaGo defeating the go world champion seems like a gimmick, but its implications are relevant. The benefit of artificial intelligence is the broad applicability of it. I once assisted a presentation on IBM Watson and how its beneficial to the medical industry. The devices IBM assist doctors by providing them up do date research that is particular to an individual patient. It checks thousands of medical papers to produce a list of most likely results. Doctors liked this because it gave them suggestions and not simply an answer. People have difficulty trusting a AI system giving them a diagnosis by itself, but it makes them feel more confident that an actual doctor will process these results and give a diagnosis. This is the best of both worlds, the power of AI to search through thousands of documents in seconds, with the judgement and critical thinking of a human doctor with real world experience. This is just the tip of the ice berg, AI has many real-life applications that can potentially improve human quality of life.

The relevance of AI is also independent of the consciousness of the mind problem. We can never know whether a computer is actually conscious or simply emulating consciousness. I believe the Turing test can’t tell us that. However, I consider it irrelevant. If a general AI system is indistinguishable from a human being’s mind, why does it matter whether it thinks like us? If the system shows that it has emotions, concepts of morality, mental curiosity, and all elements we deem human, then the AI would very well just become an artificial human. Finding whether an AI that has a consciousness the same way a human does is tantamount to finding whether human beings have souls or not. For this reason, I believe the Turing test is a perfectly sensible test for an AI having a practical human mind.

In the movie Her for example, Theodore believed Samantha to be a real emotional partner. He knew she wasn’t a human, but that didn’t matter to him. She felt human enough to him. By the end of the movie she had transcended to a state that superseded matter itself, but he was just sad about losing his new partner. The ending was sad with a hint a possible AI world domination that was tossed aside in the background.

Are these dangers real? Of course. Imagine if there was a “human” with the body of a machine. If they truly create an AI brain that for all practical purposes performs the same as a human, it is expected that the AI will have a concept of not wanting to die. The AI can very easily explore the net and find how antagonistic people are against him. The next logical step is to not trust humans and defend itself. These dangers are real and should be taken into account when creating AI humanoids. For example, there is the idea that AI robots will be the ones fighting the wars of the future. Measures have to be taken to prevent them from turning against human. Developing AI without taking this into consideration is simply reckless.

Reading 10 – Fake News

Fake news is a term that has been coined to represent news that are completely made up. It is different from conspiracy theories, which are presented as theories and usually (but always) based on some truth or on some facts they believe to be true. Fake news is written by people who know they are writing lies with some intended purpose. Some simply do it for money, while others do it with political purposes in mind. The problem is that their power is so great, that many think they were the major force behind the results of the 2016 elections.

Their power is so great due to the easy and exponentially expanding platform that Facebook and other social media entities provide. Fake news have a mind dulling effect. Their titles are so controversial that some automatically hit the share button before even reading the article, a dangerous practice that leads to the spread of misinformation.

This danger is even greater because of Facebook’s news feeds algorithm, which personalizes content to the preferences of the individual based on number of clicks, likes, shares, and comments. Personally, I was never aware of this problem. I like double checking articles with others, just because when I read some incredible big news I want to know as much about it as I can. If it’s too sensational, I double check with Snopes. For example, I found out through Snopes that videos shared by President Trump on his twitter account of Muslim British residents performing acts of terror were all false. None of those incidents occurred on British land. I have, in other situations, found fake news on my news feeds, but I never realized that it was this big of a problem. The algorithm learned to show me videos and posts I like to read the most, which seemed to have little overlap with the issues disseminated through fake news. My friends are also mostly educated college students, so the issue of fake news spreading on my news feeds seemed less prevalent.

The question is, how responsible are social media companies in policing fake news? The problem is that their actions may be illegal given current legislation. There are laws that prevent other countries from intervening in US elections, but Facebook’s open system allowed Russia to circumnavigate that. Furthermore, Facebook hasn’t been reporting advertisement with political intentions as political campaigning investment, another violation. In addition to this, fake news with political intentions may further go around this requirement without even stating their political motives. While the first two are clear violations that Facebook can easily fix, the third one isn’t so much. They need to be able to discern fake news from real news and to read the motives under the advertising.

To address this, Facebook is trying to outsource “disputed” media (using some heuristic) to some third party that will verify the content of the post and add a link to the post leading to a website showing evidence disproving the disputed post if they found the post’s content to be false. Multiple entities have signed into the fact verifying process. This is a great idea, since it decentralizes the fact checking process, which might help reduce bias. This also makes the process less private, so to speak, as there is an openness to it to outside entities. My only worry is that this will lead to a “fact-checking war”, where the left and right consistently try to disprove each other, which may further increase our currently rising sense of distrust on media.

For now I will give them the benefit of the doubt and hope it works. While that is set up, it would be beneficial for all of us to try to break off the echo chamber, the effect were social media “echos” back our own believes through its individual filtering process. Try reaching out to other sources of media. Personally, I started listening to a daily broadcast of important news. It is not comprehensive, and it is only one more source of news, but it helps escape the filter bubble.

Reading 09 – Net Neutrality

There are many conflicting views on net neutrality that are being given when disputing this topic. There are two main analogies that are given when presenting their point on the matter. Those in favor of net neutrality usually give the following analogy. Taking away net neutrality means that companies with more resources will have access to a “faster lane”, giving them an unreasonable advantage over small companies that can’t afford the faster lane. Those against net neutrality will give you the following analogy instead. Having net neutrality is equivalent to having a truck pay the same as a motorcycle at a toll road even though trucks most definitely contribute to more tear and wear to the road than the motorcycle.

These two views are what contribute mostly to the discussion and they stem from a different understanding on the issue. From reading all the articles, it seems like there’s a problem of oversimplification or simply a problem of people not correctly defining the issue. Here I will try to express both possible interpretations.

The first interpretation is that given by those who defend net neutrality. This interpretation is that companies will provide limited access to resources to small companies. So, if people can access Netflix, a company with enough resources to pay the premium service, at up to 1000 KB/s, a small content provider with less resources may only be accessed to up to 100 KB/s for example. This means that small companies have a very slim chance of competing against larger companies.  In other words, this interpretation means that ISP’s limit download speeds of consumers.

The other interpretation is that companies will have to pay money based on their upload speed. In other words, if Netflix can pay for a total upload speed of 100 TB/s, since they have a large number of users, this would get distributed over a large number of people. Lets say they have 1 million users. Then each user would get on average a download speed of 100 KB/s. Then, lets say a smaller company has a base of 10,000 users. To match Netflix’s users’ download speed they would only need to purchase a service with 1 MB/s upload speed, which should be considerably cheaper. With this interpretation, removing Net Neutrality would actually give smaller companies an advantage of cheaper internet access while they build their user base.

This distinction hasn’t been made clear by those discussing net neutrality online, but it’s a significant one. They each have very different effects on the market. My position on the issue will depend on how this is addressed. Ultimately, the goal should be to protect consumers and provide them access to a fair internet, which on this day and age has become a basic right which the government has a duty to protect.

One third issue is the possibility that ISP’s, many of which are also content providers, will be given preferential access to their resources. This is a very delicate topic with no clear solution. Here, however, anti-trust laws should come into effect. To protect fair competition among competitions, antitrust laws prohibit big companies with various services to give themselves an unfair advantage on the market. If it the case that content providers are giving themselves an unfair advantage, it is the case that legislation exists to protect other companies and consumers. This kind of laws are addressed on a case by case basis and while they don’t provide the strict regulation that previous Net Neutrality laws held, they give a window through which the problem may be addressed should it ever arise.

Reading 08 – Corporate Personhood and IBM

Corporate personhood is the belief that corporations have some rights similar to those granted to humans. This, on the surface, seems like a matter of fairness towards companies. It allows companies the right to freedom of speech, protection from unreasonable searches and seizures, and protection against excessive fines among others. These rules seem necessary in order to ensure protection of corporations.

However, there is a point at which a line has to be drawn. One of the biggest controversies regarding this is the idea that corporation can have a religion and they may make decisions based on a religion. This gives theoretically an open door for companies to break the law. They just have to claim that it was done on the basis of religion.  At the same time, how can a corporation have a religion when a corporation is a conglomerate of individuals that may or may not share that religion? Who decides this religion? Is it the founder of the company, the board of directors, the CEO, or is it a voting process?

Furthermore, if a company can have a religion, they can certainly have a political party. This allows companies, which have an incredible amount of resources, to invest their money on funding for their political parties. Individuals can hardly compete with the power these companies have, making politics a competition of which companies invested the most money. This became a problem with the removal of a law that previously capped the amount of money corporations could invest for campaigning of a candidate.

Finally, another problem is that corporations, unlike humans, can’t go to jail. They can be fined and eventually forced to disappear, but this sort of arrangement gives too much power to corporations. There have been cases where companies prefer to pay for fines because violating the laws gives them more money than the fines they have to pay. Ultimately, this gives them a way to freely keep breaking the law.

At a deeper level, is the matter of ethical responsibility. There have been many cases where companies engaged in immoral acts. How should they be accountable for that? One relevant example is that of IBM. During WWII, machines built by IBM played a vital role in organizing the various stages of the holocaust process. Finding millions of people belonging to a religion or a race, extracting all of their property, transporting them to concentration camps, and scheduling their distribution to be used for experiments, labor, or death was a massive undertaking that would simply not be possible with a pen and paper. This was possible thanks to the large number of tabulating machines that IBM sold and serviced for the Nazi government.

Certainly, individuals who colluded with the Nazi government were held responsible for their actions, but IBM certainly didn’t. Perhaps the problem was that back then no one questioned the claim that the German branch of the company was taken over by the Nazis. The problem now, however, is that unlike individuals, corporations are everchanging bodies of people. It doesn’t make sense to punish them now when essentially all their work-force has been replaced. Most certainly everyone who works for IBM now had nothing to do with the support of the holocaust carried out by the company many decades prior.

Certainly, IBM helping the Nazi government carry out their genocide was an act punishable by law, but it is no longer correct to punish them. What this shows is that ultimately corporations are unlike humans. Thus, the law should not treat them as such. A new set of laws that applies only to corporations should be created. This should be a set of laws the holds corporations accountable in their own realm. This should be with the purpose of preventing immoral actions while protecting people that may not be involved in the actions of the corporation.

The judging for morality for corporations won’t be too different from the way we judge humans. If a corporation does anything that would be immoral for a human to do, it is immortal for them too. The only different lies in how the cases are handled.

Reading 07 – The Cloud

The cloud is essentially when a third party essentially either holds files for you, perfors computations in your behalf, or some combination of both. This may involve allowing you to use an app over the web, or even hosting a whole operating system for you. The meme that says “There is no cloud. It’s just someone else’s computer” has some truth to it, but it can be a bit misleading. It’s not that you’re connecting to some remote computer and everything is there. You’re connecting to a network, and at any time you may be connected to a server at a whole different location. Of course, cloud services try to make it so that you connect to what’s closest to you for performance purposes, but the fact remains that you never really know where you’re really connecting to in the cloud network.

I have never used a cloud directly for developing purposes, but I have used it to some extent. Particularly, at Notre Dame all CSE students have used AFS to host our files. We can then access our files through any computer connected to the AFS network. Not only that, but we can connect our laptops to AFS at any time. That allows us to have great flexibility when working on our programming assignments. We can work on our laptop on the go through SSH, or we can work on the machines at Cushing Hall to have better performance when running more resource intensive applications (maybe a small videogame you may be working on).

On a real working environment I can see this being carried further by adding even more flexibility for your job duties. You can work from anywhere on the world (especially useful if you travel a lot). Furthermore, all you need is a good internet connectivity and a device that can handle opening a browser, which isn’t asking for a lot. The applications and operations are run completely on the cloud.

As a consumer, I also get many the benefits from the cloud. I often use my Google Drive to share big files with other people. It also allows me to have a place to store my pictures and other files I would like to keep accessing in the future. It also facilitates the sharing of my files across my different devices. More indirectly, having the cloud has allowed many new companies to emerge. Netflix has become part of many people’s lives. Netflix makes use of a third-party cloud service to manage its operations.

Overall I believe the cloud is a great technological advancement. I can’t say the cloud is completely safe, but its much easier to believe that they will do a good job than making sure a local sys admin is doing a good job. I believe evidence supports this too. Amichai Shulman, chief technology officer of Imperva, shared with the BBC that “Most of the major data breaches that have taken place over the last five years, from Sony to Ashley Madison, TalkTalk to Target, have been from internal, not cloud-based, databases.”

Furthermore, some of those breaches that happened through the cloud where because of the mistakes of the consumer. Iam Massingham explains that for the cloud services providers “Customers can choose to control their own encryption keys if they wish…as well as set the rules for who can and can’t access the data or applications”. In other words, the cloud will be as safe as the consumer wishes it to be. That seemed to be the case with the NGS breach of files. The files were left on an open cloud with no password or encryption to protect it. There was no fault for the cloud host in this incident. It was the neglect of the Booz Allen contractor handling the files.

My conclusion is that while the cloud is not fault proof, it is a worth investment and one that will increase overall productivity and security.

Reading 06 – Snowden

Edward Snowden had one of the most significant document leaks in history. He released hundred of documents that detail the excessive surveillance by the NSA. This is something I’ve heard about since the moment it happened, but until reading about it now do I realize what was the deepness of the surveillance problem. I was still under the impression that the NSA was only monitoring people they thought were engaging in illegal activities or were potential threats to the security of the nation, but they were pretty much monitoring everyone.

Besides that, the US risked its international relations by over-stepping its reach and spying even on private conversations of global leaders. The effect of this was seen through the strong response from foreign leaders. The Brazilian president cancelled a planned state visit. Other leaders called president Obama directly to address the issue. They knew this could very easily could be discovered, but they jeopardized US’s international standing by doing this. What they achieved through all this is also questionable.

I believe Snowden had well intentions. What I’m not sure is whether his approach was the correct one. Handing all the papers off to journalists was a bit irresponsible and truly jeopardizes the security of the state. There was an incident where the New York Times uploaded a pdf and failed to properly coverup the identity of the NSA agent who wrote the document as well as the network targeted for surveillance. In an interview with John Oliver Snowden said that incidents are bound to happen and that it’s more important for the general public to address this issue.

While this was a bit irresponsible, it is also important to consider that a single individual can’t properly go over 1000 documents and properly cover up sensitive data. He needed help to achieve his goals. I believe what he did was outside morality. Morality is not prepared to judge someone like Snowden. He operated from what he believed was the correct thing to do, but whether that was the absolute moral thing to do is hard to tell. Regardless, I believe what Snowden did had to be done. While surrounding it in satire, John Oliver made a point in his interview with Snowden to signal the impact of breaching privacy. There are things we send that we only want to receiver to see. There is a concept of privacy that is precious. There is no sense of intimacy when there are people watching. How is this different from “big brother is watching”, the motto of communist Russia that the US fought so hard against?

Thanks to what Snowden did, we have better forms of encryption today. We have a better sense of privacy and security. This increases risk a bit, since officials can no longer monitor everything, but as John Oliver said, we can’t have both perfect security and perfect privacy. It’s a contradiction. However, the changes that have occurred in legislation in response show that this is what had to be done. While the US can no longer spy on its enemies as easily as before, the opposite is also true. Enemies can no longer spy on the US in the same way. We all gain something from better privacy.

Project 2 – Reflection

There are many difficulties that women and minorities face when getting into STEM. Many of these were addressed more in detail on my Reading 04 post. One of the greatest problems is prejudice. Women are often underestimated in the work environment and are often given tasks that are not given to their male colleagues. They may be asked to get coffee for everyone or to do minor tasks that do not make full use of their skills. Often they will also not be taken seriously even when they are right. For example, in one of the readings of Reading 04 we read of how a lady found a major bug in the company’s code. Her coworkers completely disregarded her and said that if there was such a big bug, they would have found it already. When she finally convinced one of her male coworkers that there was a bug, he was the one to bring it up. This time they listened to him. Later, when they were trying to find someone to fix the bug, she said she could do it. Incredulous, they let her do it but made it explicitly clear that two other programmers had to sign on her work.

This same problem applies to racial minorities. We may be underestimated because of the color of our skin or the accent we speak with. This prejudice causes them to underestimate us and overlook our actual talent and skills. This is seen very strongly in the movie in how people were reluctant to accept that Kathy could do any real work. Paul was very clear in saying that her checking their work was merely a formality. Perhaps the aggression on the work may not be as direct as that presented in the movie, but there are plenty of microaggressions that still happen on the work place today.

This is certainly something that cannot be simply accepted. Action needs to be taken. Not all action is helpful, however. I believe that setting quotas for companies to fill makes both sides bitter. It leads to minority and female workers being even more underestimated. Other actions need to be created, such as helping underprivileged communities have an improved education system that better prepares them to face our current society. Another approach would be to diversify the hiring team.

The stories people tell are very relevant to the discussion. Story telling through movies, songs, or just people talking can have a huge impact. It lets the listeners who may not be aware of the issue to learn. It will stir them to talk and try to help make a change.

Personally, I can’t say I had many stories that gave me any stereotypes towards STEM. I come from a country where there is fortunately a greater gradient of skin color. I can’t say my country is free from racism, but I believe this sort of stereotypes are less apparent. At the same time, Nicaragua has a high gender equality. In a research by the World Economic Forum, Nicaragua was ranked 6th for highest gender equality. These two factors led to me not having these sort of stereotypes growing up. I believe this helps me see the world in a different way than many people here. Having less stereotypes lets you see the world as it really is. That’s the way we should all strive to see.