Saturday, May 13, 2017

Driving Me Crazy

People are just lazy, and because we want to be lazy, we are somehow motivated to innovate and advance today’s society just on the hope of someday being lazy. That, I believe, is the primary reason behind the development of self-driving cars.

All joking aside, the two motivations for researching and constructing self-driving cars appears to be safety and convenience. Accidents involving cars are one of the leading cause of death in the United States, and taking control from humans and placing it into the hands of software would take incapacitated or illegal drivers off of the road. Even good human drivers can cause accidents due to the briefest of distractions or being tired; in comparison, programs cannot become distracted, as code, when told, will continually gather information to keep its passengers safe.

In addition to saving lives, the convenience of self-driving cars is a major motivator in their production.  A multitude of people, including myself, dislike driving or become incredibly nervous while driving; a self-driving car would ease the anxiety that I have and ensure that my condition would not harm others. Also, self-driving cars would allow people to be more produce as they travel or allow them to get the sleep or rest that few people receive on a daily basis.  In the same vein as convenience, shipping costs for both consumers and distributors would decrease, for companies would no longer have to pay truck drivers, who are the main transporters of goods in the country.

Even with these perks, people are vehemently against the concept of self-driving cars.  On a surface level, people enjoy the freedom and control they exert while driving, and the action brews a passion in some hearts that would be missed if cars were controlled by computers. Also, hackers are a serious threat to self-driving cars, for even cars today, with their limited computer-driven systems, can be hacked to stop abruptly or swerve into traffic, endangering the passengers inside. Truck drivers and those working within the market of transportation would lose their jobs, and because transportation is one of the leading industries in America, thousands of people would be without employment.

Personal opinions aside, the main question concerning these autonomous cars is this: would they truly make our roads safer? One article states that to prove that self-driving cars are safe, they would have to drive 275 million miles without an accident, because about only about one person is killed per hundred million miles driven. To complete this test, it would take about 12 ½ years with a fleet of 100 vehicles driving 24 hours a day.  This testing, however, would pay off in the long run, for the safety benefits that come with these cars, as discussed earlier, far outweigh the slippery slope arguments of hacking and the eventual robot takeover of earth. Tesla summed up this idea nicely, saying that “self-driving vehicles will play a crucial role in improving transportation safety and accelerating the world’s transition to a sustainable future.”

In the same vein of safety, the question arises as to whom to keep safe in a dilemma; programmers, when designing the car’s software would need to devise a solution to the infamous “Trolley Problem”, deciding whether to keep the passenger or those outside of the car safe.  I don’t think that there is a clear-cut answer to this issue, but I think that minimizing the loss of life would be the only fair way to program the driving software.  Taking into account age, personality, and “importance” are too convoluted and complex issues to incorporate into a program at this time; therefore, minimizing the loss of life would be the only objective of way of dealing with complex crashes.

In addition to life-and-death situations, another question that emerges from this topic is who would be liable in a fatal accident.  In my opinion, if the user is told by the manufacturer that the car is 100 percent safe and an accident occurs, then the manufacturer should be liable for the crash.  If, however, the user has some sort of control over the vehicle, i.e. not fully autonomous, then the user should be held responsible for the crash.  I don’t think that the programmers should necessarily held responsible in any case; while they were the ones who developed the software, the company who created the car in the first place is responsible for performing the proper safety checks to make the car road-safe.

Self-driving cars would not only impact manufacturers and users of cars, but normalizing the autonomous vehicles would also have social and economic ramifications. On the social front, people could become even more physically and socially connected, for self-driving cars would allow users to safety contact friends and family during their drives and could allow for safer travel to remote locations.  Economically speaking, Lyft believes that people won’t have a need to purchase cars anymore, for the pricing of taking a taxi would be cheap enough that people would simply rely on their services.  In addition, truck drivers and the transportation business would be completely uprooted, as I have explained before.

The government would also be impacted by the universalization of self-driving cars, but honestly, I don’t think that the government would have to do much in terms of regulating them.  I believe that the regulation should be done by the manufacturers, and the government, in turn, should just use the same regulations they have put in place. However, a major government change would be the production of licenses. In today’s society, licenses are commonly used as IDs, and without the need to license people to drive, the government would have to rethink their strategy concerning proofs of identification.

With all of these facts in mind, I would probably want a self-driving car.  While I don’t like driving, I understand it as a necessity and don’t mind driving now, so I’m fairly indifferent on the subject of autonomous vehicles. I do very much appreciate the safety benefits they provide, and overall, I think they are a smart investment.  If they would help save lives and would benefit society as a whole, then I’m totally on board.

He's a Pirate

(The last blog will be coming later today)

I think at some point in my life, I wanted to be a pirate, but nowadays, pirates are pretty lame, especially those who haunt the Internet, stealing from content creators and others.  The government acknowledged the lameness of pirates by enacting the DMCA; Robert S. Boynton defines this law by saying that it is “designed to protect copyrighted material on the Web. The act makes it possible for an Internet service provider to be liable for the material posted by its users.”

He goes on to explain that if an Internet service provider is being sued for the content of a subscriber’s Web site, that Internet provider can simply remove the material in order to avoid any legal action. This is called a “safe harbor” provision, where service providers can use a “notice and takedown” technique to quickly disable the distribution of this illegal content.  Through this provision, intermediary sites, where users separate from the site can post information, can execute a “notice and takedown” if the copyright holder flags the video as infringement. This idea, alongside other rules defined throughout the law, made it possible for websites to not live in constant fear of being sued into oblivion (David Kravets).

But what constitutes as piracy?  Unfortunately, there are no clear-rules defining how much work must be stolen in order for it to be considered as piracy.  Some of the factors in determining this, David Kravets explains, is whether the material was commercially used, whether it hurt the original’s market, and whether that work is a parody. While this rule may seem fair on the surface, the DMCA also enforces the idea that consumers cannot lawfully copy DVDs that they have lawfully purchased; therefore, people claim that the law negates consumers’ rights and violates fair use laws.

In my opinion, I do not believe that it is ethical or moral for users to download and share copyrighted material.  Content creators poured their time, energy, and unique skillsets in order to create something beautiful to share with the world, and by sharing it without a cost, people are robbing creators of the money they rightfully earned.  Without paid entertainment, the entertainment business would cease to exist; people who make their livelihood off of movies, TV, music, and artwork are unrightfully losing money to these pirates.

The morality of sharing copyright material becomes a little obscured when discussing when a person owns a version of the material or just wishes to sample the material. If a person owns a copy of the material rightfully, I believe that it is ok to copy that material as long as he or she does not distribute that copy to anyone else.  This action would be difficult to police, however, and counting on someone to not distribute that copy may be harrowing.

As for sampling or testing the material before purchasing, I believe that this action is moral or ethical as long as the person is not testing or sampling the copyrighted material outside of its intended purpose.  If a person was interested in buying something and wanted a preview before investing, then I believe that it is moral for him or her to test the copyrighted material with an intent to buy.  However, if a person is solely utilizing the material for testing, then he or she must delete that material if he or she no longer has a use for it; keeping “unwanted” testing material around could quickly and easily lead to copyright infringement.

Even though I advocate for not sharing in copyrighted material, I have participated in this sharing in one way or another (please don’t turn me into the authorities). I would rather not go into the details, but I justified my actions by believing that the information which I was gathering could not be obtained in any other manner; I could not, after several hours, find and purchase this information legally, as it was not available to purchase or view on the company’s website or through a legal third party.  I still regret my actions and wish to support them financially and legally, but when only illegal sources make that information available, I would rather obtain that information than not have access to it at all.

In my “innocent” world, I would like to believe that many people follow the same thought process that I do; they make this information free and available on the Internet for those who either cannot afford to obtain the copyrighted material or simply do not have a way of obtaining it legally. According to some of the articles, however, people are hoarders; they want to collect as much information as possible, without any intention of using it, for the sake of having a wealthy stash of information. The Internet easily enables this behavior, and through pirating, this information can easily be obtained without breaking the bank.  Others, too, want to make information free and available for everyone, eliminating any sort of boundaries that would prevent people from having access to any sort of information. Others still may not even realize that these acts of viewing and obtaining copyrighted material from the Internet are illegal.

With streaming services such as Netflix and Spotify, it definitely has become easier to watch and view copyrighted material legally.  With Netflix being only a few dollars a month and Spotify being free, both of these services are inexpensive, legal ways of dealing with copyrighted material that has staunched and will continue to discourage the act of pirating.  However, I think that pirates will always be around. For example, Netflix and Spotify cannot buy the rights to every single TV, movie, and song in existence; there will always be content that cannot be obtained any way besides through pirating. While these services will be sufficient for the general public, there will always be people interested in content that cannot be obtained by large, legal companies.

Based on this fact, I don’t think that piracy is a solvable problem. There will always be pirates out there, and the more the law cracks down on them, the craftier and more skilled they will become.  I think that streaming services and the idea of making content easier to access legally will prevent the creation of some new pirates, but there will always be content out there that businesses to do not make legally available online. I do, however, believe that it is a real problem; industries and content creators are continuously losing money to pirates and their illegal actions.

And I have contributed to this problem.

I guess I’m pirate after all.

Friday, May 5, 2017

Warning: Exposure to Coding Could Change Your Life

I apologize once again for the length of this piece; this idea of computer science for all is something that, given my background and upbringing, I am fairly passionate about compared to some of the other topics we’ve covered in class.

On the subject of coding as the new literacy, one article mentioned that until about two centuries ago, most people could not read and write in comparison to today’s society. Coding, according to this same article, is following a similar trend. However, because most people will not be exposed to raw code in their day to day lives, it is difficult to become code literate today; we’re, as the article said, still operating in the scribal age of coding. In general, I pretty much agree with this course of history.  I think that some people, at this point in time, should know code, but is not essential because our technology does not currently require that knowledge. In the future, my opinion might change, but given the technology’s current progress, I don’t think that code is necessary the new literacy. I do believe, however, that is an important skill to learn nonetheless.

Speaking from my own experiences, I believe that everyone should at least be exposed to Computer Science and coding. In my high school, Computer Science classes consisted of learning how to use the Microsoft Office Suite and playing typing games; my teachers did not know how to code whatsoever. If my parents hadn’t forced me to attend a coding camp during high school, I doubt that I would have decided to make coding my profession, and plenty of my classmates could have become successful programmers if they had been introduced to the concept before college. Because of our school’s ignorance, I was one of only four students to who decided to study anything vaguely related to computers.

A study claims, however, that exposing high school students would be a waste of time, for only a few people have an aptitude to understand code’s logical nature. I disagree with this study and its logic and instead agree with the words of Mark Guzdial, who states that students who have a fixed mindset, those believe that their abilities and talents are inherited, will struggle with coding if they do not have a natural tendency to understand it. A student with a growth mindset will instead be more successful, learning to accept failures as opportunities to grow and work harder.  Because a majority of the coding process is failing and correcting errors, I believe that maintaining a growth mindset is critical to success in Computer Science if a student is not naturally gifted in computer science.

Through a growth mindset, I believe that anyone can learn Computer Science, and I am living proof of this concept. I was definitely not “born” or graced with an aptitude for programming; while I kept up with the class for the first few weeks of Fundamentals of Computing I, I definitely have struggled my way through almost all of my other Computer Science classes. Through hard work, though, I was able to overcome my inabilities and learn how to successfully code. Based on my experience, I believe that while not everyone want to put in the effort, hard work would allow anyone to understand code; it just may take some people longer than others to internalize basic concepts.

This hard work, too, can pay off. Companies in every field imaginable are looking for computer scientists, but because most students are not being exposed to coding in high school, people develop an interest in coding too late in their careers or not at all.  Therefore, high school need to require students to take a fundamental computing class. Currently, our lives are run by technology. The average person has at least three computers on their person at a time, and it is important to have at least a high school level of understanding concerning those devices. People in nearly any industry (nurses, retailers, businessmen) encounter machines that run on code on a daily basis, and people in those positions should fundamentally know how code works in order to run the computers that help them save and improve lives.

There are some complications, however, of bringing Computer Science to high schools across the country.  The biggest argument against this movement is that there are not enough teachers trained to instruct high schoolers on the subject; most Computer Scientists end up industry because of higher-paying opportunities. Also, poorer schools could not keep up with the changing technology; replacing computers and other devices every few years is incredibly expensive for most school systems. In addition, parents and others believe that coding is not currently useful in most people’s day-to-day activities, and it is not currently worth it to invest in such a “specialized” field.

While I believe that these concerns for CS4All are valid, I still heartily believe that Computer Science courses should be added as a requirement to high schoolers’ curriculum. I don’t think that teaching grade schoolers how to code would be effective overall; based on experience, younger children are usually more interested in visual changes instead of code itself and the experience of coding. Younger children also do not know what they want in life and are bound to change their career goals despite exposure to code during school. It may be pertinent to make coding optional for grade school students or encourage parents to follow-up with their children, but overall, I think that coding should be introduced at the high school level.

By offering Computer Science classes to all high schoolers, children who never believed that they could be programmers could be inspired to code, and just being exposed to the logical thinking needed to code would be beneficial to students in any profession.  Also, I do not believe that a programming class should be an option in place of other language classes. Learning how to code requires a completely different mindset than what’s needed to understand a foreign language; therefore, I believe that it would be erroneous to group these subjects together. While I understand that it’s difficult to add more courses to a required curriculum, I believe that given the direction of society, exposure to coding in high school is critical in the formation of more Computer Scientists.

I think that the key to teaching Computer Science is computational thinking because even if students will never write a single line of code after class, they may end up using programs that rely on block-based coding or will need to know the basics of coding to be hired. Focusing on the visual aspects of coding as well as the final product is also critical in the early stages of coders’ development; learning that I could make anything with code was an important stepping stone in my career as a programmer. Too much emphasis, however, on this aspect may be detrimental and may cause students to believe that they have been “tricked”, so it’s also important to show the nitty-gritty of coding as well.  Therefore, I believe that the optimal high school computer science program would focus on these three ideas – computational thinking, visualization, and hard coding – in order to give students a well-rounded view what coding truly entails.

Anyone can learn how to program. It’s just like any other action in this world.  Some people will have an innate talent for it; some people will not.  Some people will want to code, and others could care less about it. Those with both talent and drive will perform successfully, but those who work hard and dream of being successful will also become coders.  It just might take some people more time to learn than others. In coding, practice also makes perfect; the more you write and learn to think computationally, the better a coder will become. I think that test discussed earlier is bogus; all you need is drive and the ability to accept failure in order to be successful.

While I believe that anyone can learn how to program, I don’t think that everyone necessarily should learn the gory details of coding. As Basel Farag said, “the line between learning to code and getting paid to program as a profession is not an easy line to cross.” I agree with this idea and believe that everyone should cross the “learning to code” line, but not everyone is destined to become a paid, coding professional.  Being exposed to coding high school is important to our development as a society and to people’s daily lives, but requiring anything beyond a semester in high school is unnecessary. The majority of people will still not use detailed coding information in order to function in their jobs and daily lives, and there are a multitude of jobs that require intense specialization in another subject other than coding. Without these other jobs, society would cease to function; therefore, I believe that it is not completely necessary for people to learn how to code.  Exposure to coding, however, is definitely necessary, for without an introduction into the world of code, people would not realize coding’s true potential.

I do plan on turning in the past two blogs by the end of Finals Week.  Life got the best of me these past few months, and even if you cannot give them a grade, I would still like to finish them because I really do care about my performance in this class.